にトリミングされて、私はこのコードを使用してWPFコントロールのイメージを取っています:取得画像が表示されるサイズ
BitmapEncoder imgEncoder = new PngBitmapEncoder();
RenderTargetBitmap bmpSource = new RenderTargetBitmap((int)element.ActualWidth, (int)element.ActualHeight, 150, 150, PixelFormats.Pbgra32);
bmpSource.Render(element);
imgEncoder.Frames.Add(BitmapFrame.Create(bmpSource));
using (MemoryStream ms = new MemoryStream())
{
imgEncoder.Save(ms);
bytes = ms.ToArray();
ms.Position = 0;
Image i = Image.FromStream(ms);
i.Save(@"C:\" + Guid.NewGuid().ToString() + "LARGE.png");
}
トラブルがActualHeight/Width
プロパティは、すなわち表示部分描画時の高さと幅を与えています。コントロールの一部が画面に表示されない、つまりスクロールビューアに配置されていても、コントロール全体の画像を保存したいと思います。
bmpSource.Render()がコントロール全体を画像にレンダリングするように、コントロールのフルサイズ/高さを取得するにはどうすればよいですか?
私はそれに新しいサイズを与えて、updatelayout()を呼び出そうとしましたが、それは古いサイズに戻りますか? – Jon
可視点は目に見えることが保証されている点です。スクロールビューアでは、コントロールをビューポートに移動するよりも、ビューポートをスクロールするほうが簡単です。 –