.NET Compact Framework で画像の回転

.NET Compact Frameworkでは、BitmapクラスのRotateFlipがサポートされていないので、どうした物かと思ってググってたらこんなページを見つけました。

http://www.pdafr.com/codes/ROTATION-MIROIR-BITMAP_38975.aspx
そもそも、このページ何語?(^^;

まあ、やってることは単純で、高さと横幅のピクセルで2次元的にループして、1pixelづつ書き込んでいくというものなのだけど、これがまた遅い!
むう、画像回転は諦めるか、、、

一応、C#で書き直したら下記のようになりました。

private Bitmap RotateLeft(Bitmap Img)
{
 Bitmap NouveauBitmap = new Bitmap(Img.Size.Height, Img.Size.Width);
 int X;
 int Y;

 for (Y = 1; Y < Img.Size.Height - 1; Y++)
 {
  for (X = 1; X < Img.Size.Width - 1; X++)
  {
   NouveauBitmap.SetPixel(Y, NouveauBitmap.Height - X, Img.GetPixel(X, Y));
  }
 }
 return NouveauBitmap;
}

Published 2006年10月18日 23:24 by Hayase
Filed under:

Comments

No Comments

Leave a Comment

(required) 
(required) 
(optional)
(required) 
Powered by Community Server (Non-Commercial Edition), by Telligent Systems