Точность во вращающихся изображениях - PullRequest
0 голосов
/ 20 декабря 2018

Я искал код для поворота изображения в 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;
}
...