프로그래밍/WPF
[WPF] canvas 내용을 비트맵 이미지로 저장
흔한티벳여우
2021. 9. 9. 15:00
반응형
canvas에 있는 내용을 그대로 화면으로 캡쳐하여 비트맵 파일로 저장하는 방법이다.
일단 저장을 원하는 Canvas Control에 x:Name을 지정한다. 여기선 그냥 canvas라고 지정하였다.
canvas에 그리기 원하는 내용을 넣는다.
아래의 코드를 실행시킨다.
RenderTargetBitmap rtb = new RenderTargetBitmap((int)canvas.ActualWidth, (int)canvas.ActualHeight, 96, 96, PixelFormats.Pbgra32);
rtb.Render(canvas);
using (Stream stream = new FileStream(System.Environment.CurrentDirectory + @"\background.bmp", FileMode.Create, FileAccess.Write, FileShare.None))
{
PngBitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(rtb));
encoder.Save(stream);
}
위의 코드를 실행시키면 해당 경로에 background.bmp라는 이름으로 저장된다.
끝!!
반응형