Online video hd

Смотреть зрелые видео

Официальный сайт oriflame100 24/7/365

Смотреть видео бесплатно

sevka 13.02.2010 13:07

СкриптыСкрипт для поворачивания и уменьшения картинок

Скрипт для уменьшения и правильного поворачивания фотографий с цифровой камеры, например перед отправкой на имейл или закидывания в Дропбокс. Если фотографии посылаются для их просмотра на экране, то зачем слать 6-12 мегапиксельные фото? Под правильным поворотом я подразумеваю разворачивание на 90 градусов портретных фото.
Для работы скрипта нужны пакеты jhead и imagemagick. Т.е. единожды нужно сделать следующее: sudo apt-get install jhead imagemagick

Я использую его на Убунту в Наутилусе. Как известно, если положить какой-то скрипт в папку ~/.gnome2/nautilus-scripts, то он появится в контекстном меню Наутилуса. Теперь мне нужно выделить нужные фото или даже папки, и уменьшенные копии картинок сохранятся в папке resized.

Это мой первый bash-скрипт, так что не пугайтесь.
Например, я не знаю как в цикле for FILE in $1/*.JPG; перебрать не только JPG, но и jpg. Можно написать второй цикл, но как-то некрасиво.


 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/bash

function resize_file {
jhead -autorot "$1"
convert "$1" -resize 1280x1024 -quality 80 `dirname $1`/resized/`basename $1`
}

function resize_dir {
for FILE in $1/*.JPG; do
jhead -autorot "$FILE"
convert "$FILE" -resize 1280x1024 -quality 80 `dirname $FILE`/resized/`basename $FILE`;
done
}

if [ $# -gt 0 ]; then
for I in $*; do
if [ -f $I ]; then
echo $I" - File"
mkdir -p -v `dirname $I`/resized
resize_file $I
else
if [ -d $I ]; then
echo $I" - Directory"
mkdir -p -v $I/resized
resize_dir $I
else
echo $I" - error"
fi
fi

done
else
mkdir -p -v ./resized
resize_dir .
fi




Тэги: bash bash-скрипт скрипты
+ 3 -
Похожие Поделиться

commonD 13.02.2010 13:31 #
+ 1 -
Например, я не знаю как в цикле for FILE in $1/*.JPG; перебрать не только JPG, но и jpg

Можно так:
1
for FILE in $1/*.JPG;

замени на:
1
for FILE in $(find $1 -iname '*.jpg')


sevka 13.02.2010 14:55 #
+ 0 -
Пасиба :)
kstep 14.02.2010 02:46 #
+ 2 -
Тогда уже так:
1
find $1 -iname '*.jpg' -exec ...

mrak018 13.02.2010 14:08 #
+ 0 -
Так ведь есть же уже готовый скрипт для наутилуса, apt-get instal nautilus-image-converter. Делает как раз это.
Shtsh 13.02.2010 14:12 #
+ 1 -
НОВЫЕ пакеты, которые будут установлены:
brasero brasero-common gnome-icon-theme gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly gstreamer0.10-x gvfs gvfs-backends libbrasero-media0
libgdu0 libgnome-desktop-2-11 libgnome-keyring0 libsoup-gnome2.4-1 libtotem-plparser12 nautilus nautilus-data nautilus-image-converter

Ну и нафига мне это?
Так что полезный пост. Не у всех же есть гном и наутилус
sevka 13.02.2010 14:53 #
+ 1 -
Я пробовал его конечно же. Меня он не устроил, потому что:
1. Он не поворачивает изображения. Сейчас наверное это мне не так важно, но тогда было нужно.
2. Там требуются какие-то лишние телодвижения, выбирать разрешение и все такое. А мне нужно было решение максимально быстрое. Слил фотки, сделал 2 клика мышкой и готово.
3. Ну и как сказал товарищ Shtsh, не у всех гном, а этот скрипт думаю можно прикрутить куда угодно, в любой более менее адекватный файл-менеджер.
CrankY 13.02.2010 15:38 #
+ 5 -
for FILE in $1/*.JPG;

for FILE in $1/*.; - как вариант)
kstep 14.02.2010 02:47 #
+ 0 -
Тогда уж вот так:

for FILE in $1/*.jpg $1/*.JPG; do ...
kstep 14.02.2010 02:48 #
+ 0 -
Код красив, далеко пойдёшь =)
sevka 16.02.2010 02:22 #
+ 0 -
Это шутка или серьезно? ;)
Для меня пока любой код на баше выглядит непонятно и странно, даже свой собственный. Не смотря на то, что я знаю несколько языков программирования в той или иной степени.

В хорошем качестве hd видео

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн