带有灰色边框的C#RenderTargetBitmap

时间:2015-05-04 08:33:49

标签: c# wpf rendertargetbitmap

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 Color"解决了这个问题。有谁看到我如何在我的代码中解决这个问题?我感谢任何帮助!

0 个答案:

没有答案