通过 OpenFileDialog 浏览本地图片,然后将图片读取到文件流中,再将文件流转成 BitmapImage 就可以显示本地图片了。代码中ImageFromStream是一个Image控件。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
OpenFileDialog dlg =
new
OpenFileDialog();
dlg.Filter =
"Image files|*.jpg|All files|*.*"
;
dlg.FilterIndex = 1;
dlg.Multiselect =
false
;
bool
? result = dlg.ShowDialog().Value;
if
(result ==
true
)
{
FileStream fileStream = dlg.File.OpenRead();
BitmapImage image =
new
BitmapImage();
image.SetSource(fileStream);
ImageFromStream.Source = image;
fileStream.Close();
}
|
将Stream转成Byte数组
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
private
byte
[] StreamToBytes(Stream stream)
{
using
(MemoryStream ms =
new
MemoryStream())
{
byte
[] buffer =
new
byte
[8 * 1024];
int
read = 0;
while
((read = stream.Read(buffer, 0, buffer.Length)) > 0)
{
ms.Write(buffer, 0, read);
}
return
ms.ToArray();
}
}
|