У меня есть Ubuntu 10.04. Я преобразовал изображение через терминал, используя следующую команду:
convert myfigure.png myfigure.jpg
Но я хочу изменить размер высоты и ширины преобразованного изображения. Есть ли какой-нибудь способ сделать это?
У меня есть Ubuntu 10.04. Я преобразовал изображение через терминал, используя следующую команду:
convert myfigure.png myfigure.jpg
Но я хочу изменить размер высоты и ширины преобразованного изображения. Есть ли какой-нибудь способ сделать это?
Та же команда, с дополнительной опцией:
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/"{}"
Если вам нужен только CLI:
sudo apt-get install imagemagickmogrify -resize 320x240 Image.png mogrify -resize 50% Image.pngmogrify -resize 320x240 *.jpg
Если ты хочешь попробовать графический интерфейс:
Устанавливать nautilus-image-converter
sudo apt-get install nautilus-image-converter
Он добавляет два пункта контекстного меню в nautlius, чтобы вы могли щелкнуть правой кнопкой мыши и выбрать "Изменить размер изображения".(Другой - "Повернуть изображение").
При желании вы можете создать целый каталог изображений за один раз, и для этого вам даже не нужно открывать приложение.
imgp это относительно новая утилита, которая изменяет размер и поворот изображения. Он обладает большим количеством функций, чем nautilus-image-converter.
Например:
imgp -x 1366x768 *
Поскольку Ubuntu поставляется с Python, вы также можете использовать скрипт Python для достижения этой цели с немного большим контролем над тем, что происходит - см. этот stackoverflow вопрос для примера скриптов. В этих примерах используется только стандартная библиотека.
Сценарий №1
import os, sysimport Imagesize = 128, 128for 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
И еще один пример, где вам нужно только указать ширину (в качестве переменной width):
Сценарий №2
from PIL import Imageimport sysfilename = sys.argv[1:]basewidth = 300img = 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, но технически это делается через терминал.