如何解决从StreamReader设置System.Windows.Controls.Image吗?
| 我在StreamReader对象中获得了PNG格式的图像。我想在WPF表单上显示它。最简单的方法是什么? 我在表单上放置了一个“ 0”控件,但我不知道如何设置它。解决方法
Image.Source
属性要求您提供BitmapSource
实例。要从PNG创建此文件,您需要对其进行解码。请在此处查看相关问题:
WPF位图源ImageSource
BitmapSource source = null;
PngBitmapDecoder decoder;
using (var stream = new FileStream(@\"C:\\Temp\\logo.png\",FileMode.Open,FileAccess.Read,FileShare.Read))
{
decoder = new PngBitmapDecoder(stream,BitmapCreateOptions.PreservePixelFormat,BitmapCacheOption.None);
if (decoder.Frames != null && decoder.Frames.Count > 0)
source = decoder.Frames[0];
}
return source;
,这似乎可行:
image1.Source = BitmapFrame.Create(myStreamReader.BaseStream);
,我将不使用StreamReader,而是直接生成Stream,
FileStream strm = new FileStream(\"myImage.png\",FileMode.Open);
PngBitmapDecoder decoder = new PngBitmapDecoder(strm,BitmapCacheOption.Default);
myImage.Source = decoder.Frames[0];
其中myImage是XAML中图像的名称
<Image x:Name=\"myImage\"/>
更新:如果必须使用StreamReader,则可以使用.BaseStream获得Stream。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。