Как изменить размер изображения через терминал? [Дубликат]

109

У меня Ubuntu 10.04. Я преобразовал изображение через терминал, используя следующую команду:

convert myfigure.png myfigure.jpg

Но я хочу изменить размер и ширину преобразованного изображения. Есть ли способ сделать это?

    
задан Md Kutubuddin Sardar 24.03.2013 в 03:20
источник

4 ответа

137

Такая же команда с дополнительной опцией:

convert myfigure.png -resize 200x100 myfigure.jpg

или

convert -resize 50% myfigure.png myfigure.jpg

Чтобы изменить размер нескольких файлов, вы можете попробовать следующую команду (как предложено @ test30 )

find . -maxdepth 1 -iname "*.jpg" | xargs -L1 -I{} convert -resize 30% "{}" _resized/"{}"
    
ответ дан Rinzwind 24.03.2013 в 05:49
источник
35

Если вы хотите только CLI:

sudo apt-get install imagemagick
mogrify -resize 320x240 Image.png 
mogrify -resize 50% Image.png
mogrify -resize 320x240 *.jpg

Если вы хотите попробовать GUI:

Установить nautilus-image-converter

sudo apt-get install nautilus-image-converter

Он добавляет два пункта контекстного меню в nautlius, поэтому вы можете щелкнуть правой кнопкой мыши и выбрать «Изменить размер изображения» (другое - «Повернуть изображение»).

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

    
ответ дан Maythux 11.03.2014 в 11:46
1

Поскольку Ubuntu поставляется с Python, вы также можете использовать скрипт Python для достижения этого с меньшим контролем над тем, что происходит - см. this stackoverflow , например, сценарии. В этих примерах используется только стандартная библиотека.

Сценарий # 1

import os, sys
import Image

size = 128, 128

for infile in sys.argv[1:]:
    outfile = os.path.splitext(infile)[0] + ".thumbnail"
    if infile != outfile:
        try:
            im = Image.open(infile)
            im.thumbnail(size, Image.ANTIALIAS)
            im.save(outfile, "JPEG")
        except IOError:
            print "cannot create thumbnail for '%s'" % infile

И еще один пример, где вам нужно указать ширину (как переменную ширины):

Сценарий # 2

from PIL import Image
import sys

filename = sys.argv[1:]
basewidth = 300
img = Image.open(filename)
wpercent = (basewidth/float(img.size[0]))
hsize = int((float(img.size[1])*float(wpercent)))
img = img.resize((basewidth,hsize), Image.ANTIALIAS)
img.save(filename) 

Теперь, как это сделать через терминал ...

sudo nano resizescript.py

Вставьте один из этих блоков кода в текстовый редактор. Ctrl + x для выхода (скажем да, чтобы сохранить изменения).

Чтобы использовать сценарий # 1:

python resizescript.py yourfilenamehere.jpg

Чтобы использовать сценарий # 2:

python resizescript.py yourfilenamehere.jpg

Вы должны находиться в том же каталоге, что и файлы изображений для обоих этих сценариев. Первый сжимает изображение до 128x128 пикселей. Второй скрипт составляет 300 пикселей в ширину и вычисляет пропорциональную высоту. Это скорее ответ на Python, но все это делается через терминал технически.

    
ответ дан freeworld 10.09.2017 в 22:08
0

imgp - относительно новая утилита, которая изменяет размер и поворот изображения. Он имеет больше возможностей, чем nautilus-image-converter.

    
ответ дан Arun Prakash Jana 05.10.2016 в 07:00