旋转图像的精度

时间:2018-12-20 15:27:39

标签: c# graphics bitmap

我搜索了一个代码以C#旋转图像,发现这几乎是完美的。它可以在保持旧照片的“高度”和“宽度”属性不变的同时保持其质量的同时完成工作。 但是,您是否可以改进代码以使其更精确。例如,当我发送0.0001的角度时,它似乎没有旋转! (在这一步中,我确实需要非常精确)

public static Image RotateImage(Image img, float rotationAngle)
{
    Bitmap bmp = new Bitmap(img.Width, img.Height);
    turn the Bitmap into a Graphics object
    Graphics gfx = Graphics.FromImage(bmp);
    gfx.TranslateTransform((float)bmp.Width / 2, (float)bmp.Height / 2);
    gfx.RotateTransform(rotationAngle);
    gfx.TranslateTransform(-(float)bmp.Width / 2, -(float)bmp.Height / 2);
    gfx.InterpolationMode = InterpolationMode.HighQualityBicubic;
    gfx.DrawImage(img, new Point(0, 0));
    gfx.Dispose();
    return bmp;
}

0 个答案:

没有答案