FrameworkElementを非常に大きなラスターイメージとして保存する必要があります。今のところ、次のようにRenderTargetBitmapクラスとBitmapEncoderを使用しています。
RenderTargetBitmap bmp = new RenderTargetBitmap(ElementWidth, ElementHeight,
90, 96, PixelFormats.Default);
bmp.Render(MyElement); // OutOfMemoryException here
PngBitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(bmp));
using (var stream = File.Create(filePath))
{ encoder.Save(stream); }
ここで、ElementWidthとElementHeightは大きな数値(約10000x6000)です。しかし、このソリューションでは、要素をレンダリングしようとするとOutOfMemoryExceptionが発生します。
(OutOfMemoryExceptionを引き起こさずに)必要なことを行う他の方法はありますか?ありがとう。