0
캔버스 드로잉을 비트 맵으로 저장하려고합니다. 코드가 제대로 작동하지만 도면이 저장되면 캔버스가 부모 응용 프로그램의 왼쪽 상단으로 이동합니다. 내 코드는 다음과 같습니다 :비트 맵 저장시 캔버스 이동
public void SaveBitmap()
{
Size size = new Size(canvas.ActualWidth, canvas.ActualHeight);
canvas.Measure(size);
canvas.Arrange(new Rect(size));
RenderTargetBitmap renderBitmap =
new RenderTargetBitmap(
(int)size.Width,
(int)size.Height,
96d,
96d,
PixelFormats.Pbgra32);
renderBitmap.Render(canvas);
using (FileStream outStream = new FileStream("C:\\Users\\Darren\\Desktop\\test.bmp", FileMode.Create))
{
BmpBitmapEncoder encoder = new BmpBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(renderBitmap));
encoder.Save(outStream);
}
}
문제의 원인이되는 행은 canvas.Arrange입니다. 아무도 빛을 발산합니까?
감사합니다.
우수 - 정상적으로 작동합니다. 고맙습니다. –