Как изменить размер изображения с помощью imagemagick? - PullRequest
4 голосов
/ 04 апреля 2011

Когда я изменяю размер изображения с помощью imagemagick, оно показывается как обрезанное. Я использовал приведенный ниже код для изменения размера изображения

ImageMagickObject.MagickImage imgLarge = new ImageMagickObject.MagickImage();
 object[] o = new object[] { "image_Input.jpg", "-resize", size, "-gravity", "center", "-colorspace", "RGB", "-extent", "100x100", "image_Output.jpg" };
imgLarge.Convert(ref o);

См. Изображение ниже перед изменением размера изображения enter image description here
См. Изображение ниже после изменения размера изображения, показанного ниже

enter image description here

Я точно хочу, чтобы изображение с измененным размером показывало полное изображение, как показано перед изменением размера. в моем выходном изображении он выглядит как обрезанный, а не полный вид входного изображения.
Как я могу это сделать?

Ответы [ 4 ]

2 голосов
/ 04 апреля 2011

Полагаю, это потому, что вы используете следующие параметры:

-gravity center -extent 100x100

Выше параметров говорите с ImageMagick: «Извлеките, пожалуйста, область размером 100x100 из центра моего изображения. Более подробную информацию вы можете прочитать документация параметров командной строки .

Итак, sulution - это следующие аргументы:

image_Input.jpg -resize 100x100 image_Output.jpg

Из моей практики:

Я не использую обертку изображения для.net, потому что он был 32-разрядным (по крайней мере, пол года назад) и вызывал различные проблемы.

В общем случае в веб-приложениях обычно требуется только две операции:
1.Resize
2.Crop
Приведенные выше команды используют только один исполняемый файл: convert.exe.

Итак, я сделал небольшую оболочку, которая запускает convert.exe с аргументами.

МБ чуть позже я опубликую здесь github url для проекта оболочки, если кто-то заинтересован в нем.

1 голос
/ 04 апреля 2011

Пожалуйста, используйте ответ на этот вопрос, и вы получите то, что хотите !!!

Как сжать изображение jpg?

0 голосов
/ 23 мая 2013

Вы можете использовать что-то вроде этого:

1) конвертировать youractualimage.png -resize 200x200 newimage.png

Это изменит размер изображения в пропорции.

Чтобы создать изображение точного размера 200x200, вы можете использовать

2) конвертировать youractualimage.png - изменить размер 200x200! newimage.png

0 голосов
/ 04 апреля 2011

http://www.switchonthecode.com/tutorials/csharp-tutorial-image-editing-saving-cropping-and-resizing зачем использовать imagemagick. попробуйте это

...