我想使用以下函数将位图旋转90度。它的问题在于,当高度和宽度不相等时,会切断图像的一部分。C#旋转位图90度
通知的returnBitmap宽度= original.height和它的高度= original.width
谁能帮我解决这个问题,或者指出我在做什么错?
private Bitmap rotateImage90(Bitmap b)
{
Bitmap returnBitmap = new Bitmap(b.Height, b.Width);
Graphics g = Graphics.FromImage(returnBitmap);
g.TranslateTransform((float)b.Width/2, (float)b.Height/2);
g.RotateTransform(90);
g.TranslateTransform(-(float)b.Width/2, -(float)b.Height/2);
g.DrawImage(b, new Point(0, 0));
return returnBitmap;
}
我旋转位图仅用于显示的目的。我从来没有将它保存到文件 – Kevin
你不需要保存它;那个'RotateFlip'就可以做到。您可以删除'使用'并添加一个'返回新位图(img);' –
您可能希望从这里获取一些代码,以确保jpeg以比默认的50 http: /stackoverflow.com/questions/1484759/quality-of-a-saved-jpg-in-c-sharp –