2016-04-26 22 views

答えて

0

私はあなたのためにいくつかの検索を行なったし、この発見:

public static Bitmap RotateImage(Bitmap b, float angle) 
{ 
    //create a new empty bitmap to hold rotated image 
    Bitmap returnBitmap = new Bitmap(b.Width, b.Height); 
    //make a graphics object from the empty bitmap 
    using(Graphics g = Graphics.FromImage(returnBitmap)) 
    { 
     //move rotation point to center of image 
     g.TranslateTransform((float)b.Width/2, (float)b.Height/2); 
     //rotate 
     g.RotateTransform(angle); 
     //move image back 
     g.TranslateTransform(-(float)b.Width/2, -(float)b.Height/2); 
     //draw passed in image onto graphics object 
     g.DrawImage(b, new Point(0, 0)); 
    } 
    return returnBitmap; 
} 
+0

これは働くかもしれないが、いくつかの問題があります。まず、ビットマップイメージが長方形の場合、新しいビットマップイメージはイメージを切り捨てます。これはおそらく、新しいビットマップを最大の正方形にすることで解決できます。しかし、これをしても私はクリッピングを経験しています。私ができるなら、私は絵を掲示するだろう。 – zetar

+0

私は問題を解決しました。私はオリジナルのビットマップイメージを(余分な空白を持つ)正方形にするだけでした。 RotateImageコードが正しく動作するようになりました。変換された画像を白で透明にしました。 – zetar

関連する問題