Скрипт
alexvll 25 февраля, 2008 - 11:40
День добрый,
Подскажи кто знает, мне нужен скрипт чтобы он в пакетном режиме обрабатывал изображения разложенные по папкам, т.е. из больших картинок делал их превьюшками.
В этом деле, я еще не селен, буду благодарен любой помощи.
Заранее спасибо, даже если Вы просто прочитали мое сообщение.
»
- Для комментирования войдите или зарегистрируйтесь
:. любопытно
Тема однако любопытная,
думаю imagemagick поможет, и еще погляди статью
http://ru.gentoo-wiki.com/Сводный_лист_(предпросмотр)_фильма
__
:. Поделись опытом на ru.gentoo-wiki.com или на www.gentoo-wiki.com
Посмотрю
Обязательно посмотрю, правда при первом приближении кажется немного не то (это я про сводный лист).
Немного не то
у меня огромное количество изображений, и нужно сделать превью с сохранением параметров изображений. В imagemagick я не нашел пакетный режим, а как преобразовать Сводный лист по себя незнаю.
use Perl();
http://search.cpan.org/~lds/GD-2.35/GD.pm
GD.pm
GD-2.35 может я что не так понял, но этот модуль для создания новых изображений. Если не так поправьте.
Рецепт из
Рецепт из LinuxFormat
######################################
Во-первых, здорово, что Вы обучаете работать в Linux детей «с младых ногтей». Лучше, когда дети растут, понимая, что Windows – не единственный возможный выбор. mogrify из комплекта ImageMagick модифицирует изображения «на месте», сохранить вывод в другой директории не получится. Для этого подойдет команда convert из все того же ImageMagick.
Вот что выполнит нужные Вам действия:
for PIC in *.jpg
do
convert -antialias -resize 448x376 ${PIC} $HOME/.tuxpaint/saved/$(date +%Y%m%d%H%M%S).png
done
Главная проблема тут в том, что следующая картинка может затереть предыдущую, если обе обрабатываются в пределах одной секунды. Можно, конечно, сделать проверку: если имя уже существует, добавить к нему еще одну цифру. Но если вы используете время конвертирования, а не получения изображения, то проще вставить секундную задержку:
for PIC in *.jpg
do
while true
do
DEST=$HOME/.tuxpaint/saved/$(date +%Y%m%d%H%M%S).png
[ -f ${DEST} ] || break
sleep 1
done
convert -antialias -resize 448x376 ${PIC} ${DEST} && mv ${PIC} done/
done
Эта версия также перемещает файл в нужную директорию, так что вы можете еще раз запустить ее для обработки новых изображений. Если вы хотите в качестве имени файла использовать именно дату получения изображения, то замените
$(date... на
$(date -r ${PIC} +%Y%m%d%H%M%S).png
Теперь будет использоваться время последней модификации файла. man-страница по date содержит информацию о множестве возможных опций. Более сложный вариант – читать EXIF-тэги изображения. На это есть множество программ; я предпочитаю Exiftool (www.sno.phy.queensu.ca/~phil/exiftool). НВ
#######################################################
Спасибо
Огромное спасибо всем, кто откликнулся на мою просьбу. Я уверен что из всех вариантов которые мне предоставили, будет то что мне нужно.
Огромное спасибо за понимание.
Удачи Всем и благополучия!
а
а Сервис->Создать галерею изображений... в konqueror не поможет?
галерея изображений
Нет не могу, у меня только терминал
Может
Может поможет...
Вот слепил когда то на скорую руку,
так до сих пор и использую...
convert из media-gfx/imagemagick
собственно и изменяет размер - в данном случае
руководствуясь величиной меньшей стороны.
Здесь будут на выходе размеры 1024x768
(наверное правильнее было бы в начале развернуть...)
jhead из media-gfx/jhead
разворачивает в соответствии с Exif
и удаляет этот самый Exif из файла
Сейчас
Сейчас проверил - ошибка здесь...
Этот скрипт использовался ранее для перезаписи
файлов поверх... и все было ок.
А в этом варианте - не разворачивает в соответствии
с Exif (т.к. инфа уничтожается на этапе конвертирования)
Если это всетаки необходимо - то надо напильником подправить... :)
т.е. сделать разворот до преобразования размеров...