我在C#中有BitmapImage。我需要对图像进行操作。例如灰度,在图像上添加文本等。我在stackoverflow中找到了用于灰度的函数,该函数接受位图并返回位图。所以我需要将BitmapImage转换为Bitmap,进行操作并转换回去。我怎样才能做到这一点?这是最好的方法吗?
3 回答
catspeake
TA贡献1111条经验 获得超0个赞
这是用于将位图转换为BitmapImage的扩展方法。
public static BitmapImage ToBitmapImage(this Bitmap bitmap)
{
using (var memory = new MemoryStream())
{
bitmap.Save(memory, ImageFormat.Png);
memory.Position = 0;
var bitmapImage = new BitmapImage();
bitmapImage.BeginInit();
bitmapImage.StreamSource = memory;
bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
bitmapImage.EndInit();
bitmapImage.Freeze();
return bitmapImage;
}
}
- 3 回答
- 0 关注
- 2602 浏览
添加回答
举报
0/150
提交
取消