Hou*_*man 3 .net c# silverlight image silverlight-4.0
我已经在.NET 4.0中找到了如何做到这一点,但我认为Silverlight中不存在JpegBitmapEncoder:
MemoryStream memStream = new MemoryStream();
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(imageC));
encoder.Save(memStream);
var bytes = memStream.GetBuffer();
Run Code Online (Sandbox Code Playgroud)
如何在silverlight中将图像转换为bytes []?
更新:
我有一个Contact模型,它有一个Photo属性.每当我添加一个新的联系人时,我想加载一个本地默认图像并将其转换并将Photo属性设置为它.
var bitmapImage = new BitmapImage
{
UriSource = new Uri("pack://application:,,,/xxx;component/Images/default.JPG")
};
var image = new Image{Source = bitmapImage};
Run Code Online (Sandbox Code Playgroud)
这是首先加载图像的正确方法吗?
使用
myImage.Save(memStream, ImageFormat.Jpeg);
return memStream.ToArray();
Run Code Online (Sandbox Code Playgroud)
好的,事实证明图像是一个BitmapImage.
似乎BitmapImage没有公开保存图像的功能.解决方案是从嵌入式资源中获取图像:
Stream s = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourcePath);
byte[] buffer = new byte[s.Length];
s.Read(buffer, 0, buffer.Length);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3503 次 |
| 最近记录: |