我想使用以下函數將位圖旋轉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 –