WPF,点与RenderTargetBitmap不同

时间:2013-05-14 16:03:41

标签: c# wpf canvas crop

我的问题是Int32Rect点与画布中的点不同。我尝试使用dpi作为解决其他问题的解决方案,但我无法弄清楚如何使用它。

private void bttnExportFB_Click(object sender, RoutedEventArgs e)
    {
        RenderTargetBitmap rtb = new RenderTargetBitmap((int)mainCanvas.ActualWidth,
        (int)mainCanvas.ActualHeight, 96d, 96d, System.Windows.Media.PixelFormats.Default);
        rtb.Render(mainCanvas);

        CroppedBitmap crop = new CroppedBitmap(rtb, new Int32Rect((int)(173 ), (int)(360), (int)(353 ), (int)(540 )));

        BitmapEncoder pngEncoder = new PngBitmapEncoder();
        pngEncoder.Frames.Add(BitmapFrame.Create(crop));

        using (var fs = System.IO.File.OpenWrite("logo.bmp"))
        {
            pngEncoder.Save(fs);
        }

    }

-update- 在画布上,由inteRect32的位置创建的矩形在rtb处具有不同的区域。

0 个答案:

没有答案