Преобразование изображения PS в изображение GIF с длиной x900 y800 - PullRequest
0 голосов
/ 29 июня 2018

У меня есть изображение ps, которое я хочу преобразовать в изображение в формате gif с горизонтальными размерами по вертикали 900 и 800 соответственно. Я попытался использовать команду:

convert panel.gs -resize x800 y900 panel.gif

или также:

convert panel.gs -resize 900x800 panel.gif

Можете ли вы помочь мне настроить команды преобразования, чтобы я мог получить желаемые результаты?

Ответы [ 2 ]

0 голосов
/ 29 июня 2018

.gs не является допустимым суффиксом. Вы имели в виду .ps?

Imagemagick понадобится ghostscript в качестве делегата. Вы не сказали, что было не так, ни на какой платформе, ни на какой версии Imagemagick.

Если изображение не имеет того же соотношения сторон, что и конечные размеры, которые вы хотите, вам потребуется либо 1) исказить его, чтобы подогнать его, используя!, 2) изменить его размер, а затем расширить до размера, который вы хотите заполнить цветом фона. или 3) измените размер с помощью ^ и обрежьте до нужного размера.

convert panel.ps -resize "900x800!" panel.gif

convert panel.ps -resize 900x800 -gravity center -background white -extent 900x800 panel.gif

convert panel.ps -resize "900x800^" -gravity center -extent 900x800 panel.gif
0 голосов
/ 29 июня 2018

Ну, во-первых, вы на самом деле не сказали, что не так с двумя командами, которые вы уже пробовали .....

Ваша программа PostScript, вероятно, не содержит «изображения» как такового, PostScript не является растровым форматом, а является языком программирования.

Вы можете использовать Ghostscript для рендеринга PostScript в изображение, а затем использовать ImageMagick для изменения размера этого изображения, возможно, вы можете объединить эти два шага или просто выполнить одно преобразование, это зависит от того, что именно вы хотите, чтобы не ясно.

Если (например) ваша программа PostScript запрашивает носитель размером 9 дюймов на 8, вы можете создать растровое изображение, просто установив разрешение 100 dpi с помощью -r100.

Если вы хотите, чтобы изображение масштабировалось по-разному в каждом направлении, вам нужно установить неквадратное разрешение. Например, если программа PostScript запрашивает носитель размером 9 дюймов на 4, вам нужно установить разрешение 100x200, чтобы получить изображение размером точно 900 x 800 пикселей. Для этого вы бы использовали -r100x200.

Альтернатива, с точки зрения PostScript, состоит в том, чтобы установить размер носителя для данного значение в пикселях (используя -g900x800) и значение -dDFIXEDMEDIA, которое не позволяет программе PostScript изменить его. Затем вы можете использовать -dFitPage, что позволит Ghostscript масштабировать содержимое по размеру страницы. Однако он будет масштабировать содержимое одинаково в обоих направлениях, что может оставить пустое пространство по краю.

Теперь, поскольку Ghostscritp не пишет GIF напрямую, вам нужно загрузить любой выбранный вами формат растрового изображения в IM, чтобы записать его как GIF, поэтому, возможно, самое простое решение - просто использовать Ghostscript для визуализации PostScript в определенное разрешение (например, 100 точек на дюйм), а затем загрузите это изображение в IM и измените его масштаб там.

Поскольку IM (и, следовательно, конвертирует) использует Ghostscript для обработки программ PostScript, это то, что происходит сейчас, поэтому для меня не очевидно, в чем ваша проблема.

...