1
public RenderTargetBitmap GetSketchContentForExport()
    {
        Rect rectBounds = VisualTreeHelper.GetDescendantBounds(drawingCanvas);

        RenderTargetBitmap renderTarget = new RenderTargetBitmap((int)rectBounds.Width, (int)rectBounds.Height, 96, 96, PixelFormats.Pbgra32);

        DrawingVisual drawingVisual = new DrawingVisual();

        using (DrawingContext drawingContext = drawingVisual.RenderOpen())
        {
            VisualBrush visualBrush = new VisualBrush(drawingCanvas);
            drawingContext.DrawRectangle(visualBrush, null, new Rect(new Point(), rectBounds.Size));
        }
        renderTarget.Render(drawingVisual);


        return renderTarget;
    }

キャンバスのコンテンツをビットマップにレンダリングすると、すべてのコンテンツが表示されますが、グレーの境界線 (現在のビューにない部分) も表示されます。結果の画像を外部ツール (XnView) で編集し、オプション「True Colour」を使用すると、この問題が修正されます。私のコードでこの問題を解決する方法を知っている人はいますか? どんな助けにも感謝します!

4

0 に答える 0