Скрипт

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

В этом деле, я еще не селен, буду благодарен любой помощи.

Заранее спасибо, даже если Вы просто прочитали мое сообщение.

:. любопытно

Тема однако любопытная,
думаю imagemagick поможет, и еще погляди статью
http://ru.gentoo-wiki.com/Сводный_лист_(предпросмотр)_фильма
__
:. Поделись опытом на ru.gentoo-wiki.com или на www.gentoo-wiki.com

Посмотрю

Обязательно посмотрю, правда при первом приближении кажется немного не то (это я про сводный лист).

Немного не то

у меня огромное количество изображений, и нужно сделать превью с сохранением параметров изображений. В imagemagick я не нашел пакетный режим, а как преобразовать Сводный лист по себя незнаю.

use Perl();

GD.pm

GD-2.35 может я что не так понял, но этот модуль для создания новых изображений. Если не так поправьте.

Рецепт из

Рецепт из LinuxFormat
######################################

Цитата:
Как, используя mogrify для изменения размера и формата коллекции изображений, установить целевую директорию для вывода, и еще сделать так, чтобы имя файла содержало временную отметку? Я работаю с группой маленьких детей, и это интенсивная работа. Часто я просто открываю Gimp, изменяю размер изображения и сохраняю результат в ~/.tuxpaint/saved, чтобы его можно было использовать в TuxPaint. Но тогда детям приходится долго ждать.

Сейчас моя команда выглядит вот так:
mogrify -antialias -geometry 448x376 -format png digicampic.jpg

Однако она не помещает изображение в ~/.TuxPaint/ saved, и еще я бы хотел, чтобы команда добавляла в имя файла отметку времени, типа 20060719162549.png.
Лэнсер [Lancer], с форума LXF

Во-первых, здорово, что Вы обучаете работать в 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 из файла

#!/bin/sh
#

THUMB_PRFX=small_

find . ! -name "$THUMB_PRFX*" -iname "*.JPG" -or -iname "*.JPEG" \
     | sort | while read file
do
    file_out=`dirname "$file"`/$THUMB_PRFX`basename "$file"`
    echo -ne "$file \t => $file_out \t convert..."
    convert "$file"  -resize 768 -resize 'x768<' -quality 90  "$file_out" >/dev/null
    echo -ne " \t rotate..."
    jhead -ft -autorot -purejpg "$file_out" >/dev/null
    chmod 0777 "$file_out"  >/dev/null
    echo -e " \t OK."
done

Сейчас

Сейчас проверил - ошибка здесь...
Этот скрипт использовался ранее для перезаписи
файлов поверх... и все было ок.
А в этом варианте - не разворачивает в соответствии
с Exif (т.к. инфа уничтожается на этапе конвертирования)
Если это всетаки необходимо - то надо напильником подправить... :)
т.е. сделать разворот до преобразования размеров...

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".