반응형
public BitmapImage ConvertWriteableBitmapToBitmapImage(WriteableBitmap wbm)
{
BitmapImage bmImage = new BitmapImage();
using (MemoryStream stream = new MemoryStream())
{
PngBitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(wbm));
encoder.Save(stream);
bmImage.BeginInit();
bmImage.CacheOption = BitmapCacheOption.OnLoad;
bmImage.StreamSource = stream;
bmImage.EndInit();
bmImage.Freeze();
}
return bmImage;
}
BitmapImage bitmap = ConvertWriteableBitmapToBitmapImage(your writable bitmap);
Extention 사용시
public static class ImageHelpers
{
public static BitmapImage ToBitmapImage(this WriteableBitmap wbm)
{
BitmapImage bmImage = new BitmapImage();
using (MemoryStream stream = new MemoryStream())
{
PngBitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(wbm));
encoder.Save(stream);
bmImage.BeginInit();
bmImage.CacheOption = BitmapCacheOption.OnLoad;
bmImage.StreamSource = stream;
bmImage.EndInit();
bmImage.Freeze();
}
return bmImage;
}
}
WriteableBitmap wbm = // your writeable bitmap
BitmapImage bitmap = wbm.ToBitmapImage();
반응형
'[====== Development ======] > C#' 카테고리의 다른 글
[WPF] Window나 UserControl 생성자에서 디자인타임에 실행방지 (0) | 2021.11.09 |
---|---|
[WPF] 현재 UserConsole이 속한 Window 를 가져오는 방법 (0) | 2021.11.09 |
WPF Screen 사이즈 정보 가져오기 (0) | 2021.11.02 |
.Net 버전표 (0) | 2021.11.01 |
C# Tray Icon 만들기 (0) | 2021.10.27 |