0

このトピックはスタック オーバーフローで何度も触れられていますが、私の検索ではまだ答えが得られませんでした。

シンプルで使いやすく、非常に基本的な画像編集ライブラリを探しています。必要なのは、jpeg ファイルと png ファイルのサイズを確認し、それらを 90 度の倍数で回転させることだけです。

VB.NET またはできれば VB5 でアプリを開発できますが、他のライブラリは使用していません。

Advanced Image Library (Free Image Library に基づく) を試しましたが、dll を正しく登録できず、アプリケーションの配布時にも問題が発生するのではないかと心配しています。

もっと簡単なものはありますか?無料でなくても、妥当な金額であれば問題ありません。

あなたの助けに感謝します。答えがすでにどこかにあり、私がそれを見ることができなかった場合、私の謝罪

4

1 に答える 1

1

.NET では、外部ライブラリなしでローテーションを実行できます。.NET でコーディングできる場合は、それを行い、ここで .NET Framework プリミティブを使用します (C#):

public static Bitmap RotateImage(Image image, PointF offset, float angle)
{
 int R1, R2;
 R1 = R2 = 0;
 if (image.Width > image.Height)
        R2 = image.Width - image.Height;
 else
        R1 = image.Height-image.Width;

 if (image == null)
        throw new ArgumentNullException("image");

 //create a new empty bitmap to hold rotated image
 Bitmap rotatedBmp = new Bitmap(image.Width +R1+40, image.Height+R2+40);
 rotatedBmp.SetResolution(image.HorizontalResolution, image.VerticalResolution);

 //make a graphics object from the empty bitmap
 Graphics g = Graphics.FromImage(rotatedBmp);

 //Put the rotation point in the center of the image
 g.TranslateTransform(offset.X + R1/2+20, offset.Y + R2/2+20);

 //rotate the image
 g.RotateTransform(angle);

 //move the image back
 g.TranslateTransform(-offset.X - R1 / 2-20, -offset.Y - R2 / 2-20);

 //draw passed in image onto graphics object 
 g.DrawImage(image, new PointF(R1 / 2+20, R2 / 2+20));

 return rotatedBmp;
}
于 2011-09-03T14:30:09.720 に答える