Базовая и простая библиотека для работы с изображениями для VB (5 или .NET) - PullRequest
0 голосов
/ 03 сентября 2011

эта тема неоднократно затрагивалась при переполнении стека, но мой поиск все еще не дал мне ответа.

Я ищу ПРОСТУЮ и простую в использовании, очень простую библиотеку для редактирования изображений. Все, что мне нужно, это проверить размер файлов jpeg и png и повернуть их на 90 °.

Я могу разработать свое приложение в VB.NET или, предпочтительно, VB5, и я не использую никакую другую библиотеку.

Я пробовал расширенную библиотеку изображений (на основе Free Image Library), но не могу заставить dll правильно зарегистрироваться, и я боюсь, что у меня также будут проблемы при распространении приложения.

Есть что-то попроще? Если это не бесплатно, это хорошо, пока стоимость разумна.

Спасибо за вашу помощь и мои извинения, если ответ был уже где-то еще, и я не мог видеть его

1 Ответ

1 голос
/ 03 сентября 2011

в .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;
}
...