我搜索了一个代码以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;
}