반응형
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라는 이름으로 저장된다.
끝!!
반응형
'프로그래밍 > WPF' 카테고리의 다른 글
[WPF] Storyboard 이용하여 Visibility 제어 (0) | 2022.03.30 |
---|---|
[WPF] DataGridTemplateColumn 내의 Grid Margin 없애기 (0) | 2021.12.06 |
[WPF] DataGrid Style 설정 (0) | 2021.09.01 |
[WPF] 특정 컨트롤 Size 변경될 시, 값 가지고 오기 (0) | 2021.08.11 |
[WPF] UserControl DependencyProperty 설정과 Binding 방법 (0) | 2021.07.21 |