Olg*_*lga 2 c# wpf xaml byte image
我使用 C#,wpf。我有一个图像,它以以下形式存储:byte[]
public interface IFile
{
int Id { get; set; }
byte[] FileData { get; set; }
string FileName { get; set; }
int? FileSize { get; set; }
string FileExtension { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如何在表单上显示我的图像(FileData byte[])?
<GroupBox BorderThickness="1">
<Image Source="..."/>
</GroupBox>
Run Code Online (Sandbox Code Playgroud)
Source="..."如果我从一个字节[]创建一个临时文件,我必须写进去?
如果你有一个实现你的IFile接口的视图模型类,并且它的FileData属性包含一个像 PNG 或 JPEG 这样的编码图像缓冲区,你可以像这样直接绑定到属性:
<Image Source="{Binding FileData}"/>
Run Code Online (Sandbox Code Playgroud)
这是因为 WPF 提供了从多种源类型(包括byte[]、 到ImageSource.
类型转换由ImageSourceConverter注册为 TypeConverter的类执行
[TypeConverterAttribute(typeof(ImageSourceConverter))]
public abstract class ImageSource ...
Run Code Online (Sandbox Code Playgroud)
并执行类似的操作:
byte[] buffer = ...
ImageSource result;
using (var stream = new MemoryStream(buffer))
{
result = BitmapFrame.Create(
stream, BitmapCreateOptions.None, BitmapCacheOption.OnLoad);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5766 次 |
| 最近记录: |