使用双值裁剪图像

时间:2018-03-12 17:31:39

标签: c# wpf image bitmap

我在WPF中使用CroppedBitmap方法裁剪图像。必需的输入参数是int32Rect。但是,我的图像高度和宽度值是双(像素)。因此,如果不截断Double to Int,我想使用double值(像素)裁剪图像 由于截断,会导致图像质量下降,裁剪图像边框上出现轻微的空白区域 这可能吗?

这是我的代码。

public static BitmapSource SaveSelectedRegion(BitmapSource source, Shape rubberBand)
{
    try
    {
        int rubberX = Convert.ToInt32(rubberBand.Margin.Left);
        int rubberY = Convert.ToInt32(rubberBand.Margin.Top);
        int rubberW = Convert.ToInt32(rubberBand.Width);
        int rubberH = Convert.ToInt32(rubberBand.Height);

        // it seems cropped bitmap only support int parameters.
        CroppedBitmap crop = new CroppedBitmap(source
          , new Int32Rect(rubberX, rubberY, rubberW, rubberH));

        var res= crop as BitmapSource;
        return res;
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message);
        return null;
    }
}

我也已经看过这篇文章了。 wpf CroppedBitmap crop image as pixel values in double这对我不起作用。

0 个答案:

没有答案