Как создать изображение большого пальца? - PullRequest
2 голосов
/ 06 января 2010

У меня есть папка, содержащая около 20000 изображений, и мне нужно сгенерировать для них изображения большого пальца.

Какой самый быстрый способ сделать эту работу?

Я знаю, что могу сделать это, используя некоторые библиотеки изменения размера изображения.Но мне интересно, может быть, уже есть инструмент или фрагменты кода, которые могли бы сделать эту работу.

1 Ответ

6 голосов
/ 06 января 2010

инструмент преобразования imagemagick. Это инструмент командной строки, который хорошо работает как в Linux, так и в Windows.

для преобразования одного изображения:

convert dragon.gif    -resize 50%  half_dragon.gif

Или, если вы предпочитаете эскизы с фиксированным размером (здесь, 4096 пикселей):

convert dragon.gif    -resize 4096@  pixel_dragon.gif

Или самое распространенное использование - изменить размер до заданного размера:

convert dragon.gif    -resize 64x64  resize_dragon.gif

А для большого количества изображений доступно быстрое изменение размера:

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

Итак,

convert dragon.gif'[64x64]'    read_dragon.gif

Возможно, правильный ответ на ваш вопрос.

Эти примеры взяты из раздела resize сайта imagemagick.org; Вы можете найти множество других примеров там.

для преобразования библиотеки изображений можно написать небольшой скрипт оболочки, например:

for file in `ls`;
do
    convert $file  -resize 4096@ thumb_$file
done

Для очень большого количества файлов вы можете использовать Linux find -exec, чтобы преодолеть очень длинный список аргументов, который ls выдаст.

...