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

На этот вопрос уже есть ответ здесь:

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

convert myfigure.png myfigure.jpg

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

156
задан 20 August 2018 в 12:12

4 ответа

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

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/"{}"
0
ответ дан 20 August 2018 в 12:12

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

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

Если вы хотите попробовать графический интерфейс:

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

sudo apt-get install nautilus-image-converter

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

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

0
ответ дан 20 August 2018 в 12:12

Так как Ubuntu поставлется с Python, можно также использовать сценарий Python для достижения этого с немного большим количеством управления тем, что происходит - посмотрите этот 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, но он сделан на всем протяжении терминала технически.

3
ответ дан 20 August 2018 в 12:12

imgp - это относительно новая утилита, которая изменяет размер изображения и поворачивает его. Он имеет больше возможностей, чем Nautilus-Image-Converter.

0
ответ дан 20 August 2018 в 12:12

Другие вопросы по тегам:

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