Как изменить размер файла PNG из командной строки?

Команда ip link delete dummy0 то, что Вы использовали бы для удаления его в командной строке. Я понятия не имею, почему фиктивный интерфейс становится созданным в Вашей системе все же.

4
26.06.2014, 19:28
4 ответа

я бы использовал convert или mogrify из набора ImageMagick.

$ convert -resize 100x50 1.png 2.png

# or #

$ mogrify -resize 100x50 1.png

convert принимает отдельное имя выходного файла; создание отдельного файла.
mogrify не принимает отдельного имени выходного файла; модификация файла на месте

.
9
27.01.2020, 20:46

Полученные до сих пор ответы будут работать в данном конкретном случае, так как исходное и конечное изображения имеют одинаковое соотношение сторон. Однако, если Вы захотите изменить произвольный размер, они не сработают :

$ file foo.png 
foo.png: PNG image data, 1000 x 500, 8-bit/color RGB, non-interlaced
$ convert -resize 100x50 foo.png bar.png
$ file bar.png 
bar.png: PNG image data, 100 x 50, 8-bit colormap, non-interlaced

Как видно выше, простое преобразование прекрасно работает, если не изменять пропорции изображения. Но что, если вы захотите их изменить?

$ convert -resize 200x50 foo.png bar.png
$ file bar.png 
bar.png: PNG image data, 100 x 50, 8-bit colormap, non-interlaced

Итак, при изменении пропорций команда, приведенная выше, не работает. Чтобы заставить преобразовать изменить изображение таким образом, вам нужно добавить ! в конец спецификации геометрии (и, начиная с ! является специальным символом для многих оболочек, вам нужно избежать его как \! ):

$ convert -resize 200x50\! foo.png bar.png
$ file bar.png 
bar.png: PNG image data, 200 x 50, 8-bit colormap, non-interlaced
4
27.01.2020, 20:46

Для этого используйте Imagemagick.

Читайте man-страницу для корректного использования, но она должна работать передавая параметры, что-то вроде

convert 1.png -resize 50x100 1-resized.png

3
27.01.2020, 20:46

Альтернативой ImageMagick является venerable netpbm:

pngtopnm input.png | pnmscale -reduce 10 | pnmtopng > output.png
1
27.01.2020, 20:46

Теги

Похожие вопросы