我在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 關注
- 2654 瀏覽
添加回答
舉報
0/150
提交
取消