Potrzebujesz pomocy z C, C++, perl, python, itp.
szlejk
Beginner
Posty: 100 Rejestracja: 23 marca 2011, 22:48
Lokalizacja: Warszawa
Post
autor: szlejk » 17 lutego 2015, 20:46
Witam
Znalazłem w necie skrypt do masowej edycji zdjęć i chciałem go przerobić do swoich potrzeb. Problem polega na tym że nie wiem jakie powinny być prawidłowe instrukcje do drugiej części skryptu
Kod: Zaznacz cały
#!/bin/bashfind . -name "*.JPG" -exec convert {} -format jpg {}.jpg \;
rename 's/JPG.jpg$/jpg/' *.JPG.jpg
#rm *jpg
for i in *jpg
do
mogrify -normalize -geometry 800 *jpg \
convert $i \( +clone -blur 0x3 +level 20%,100% \) \
\( +clone -gamma 0 -shave 10x10 \
-bordercolor white -border 10x10 \) \
-composite \
\( +clone -gamma 0 -shave 10x10 \
-bordercolor white -border 1x1 \
-bordercolor black -border 9x9 \) \
-compose screen -composite $i
done
# position, Center, SouthEast, SothWest, NorthEast, NorthWest
pos="SouthEast"
files=`ls *jpg`
mkdir Gotowe
for i in $files
do
echo "Gotowy"$i
composite -gravity $pos logo.png $i Gotowe/ $i
done
Proszę o sprawdzenie i wskazówki.
Pozdrawiam i dziękuje
Mirek
kodama
Junior Member
Posty: 633 Rejestracja: 23 maja 2010, 22:30
Lokalizacja: Poznań
Post
autor: kodama » 17 lutego 2015, 21:56
Tylko jeszcze jest pytanie jaki konkretnie efekt chcesz osiągnąć? Co ten skrypt ma robić? Jakie efekty, przekształcenia?
klavierkrk
Beginner
Posty: 257 Rejestracja: 14 maja 2013, 17:18
Post
autor: klavierkrk » 17 lutego 2015, 22:00
Kod: Zaznacz cały
#!/bin/bashfind . -name "*.JPG" -exec convert {} -format jpg {}.jpg \;
1 linijka zła...
bashfind - nie ma czegoś takiego.
Powinno być raczej:
Kod: Zaznacz cały
#!/bin/bash
find . -name "*.JPG" -exec convert {} -format jpg {}.jpg \;
natomiast ...
... jest komendą z imagemagick, który ma świetną dokumentację i rzeczywiście przyda się w tym wypadku do przegrywania zdjęć.
http://www.imagemagick.org/script/convert.php
szlejk
Beginner
Posty: 100 Rejestracja: 23 marca 2011, 22:48
Lokalizacja: Warszawa
Post
autor: szlejk » 18 lutego 2015, 22:42
Witam i dziękuje za zainteresowanie się tematem.
Kod: Zaznacz cały
[color=#3E3E3E]#!/bin/bashfind . -name "*.JPG" -exec convert {} -format jpg {}.jpg \;[/color]
przy wklejaniu linijki się połaczyły
gapa ze mnie. Na obecną chwilę skrypt działa proszę o sprawdzenie pod względem błędów
Skrypt ma za zadanie
znaleźć wszystkie zdjęcia z rozszerzeniem .JPG i zmienić na .jpg
zmienić rozmiar zdjęć na dogodny do publikacji w internecie
dodać przezroczystą ramkę dookoła zdjęcia
wstawić znak wodny i przenieść zdjęcia z do wskazanego folderu
usuwa zdjęcia z rozszerzeniem .jpg (oryginały .JPG zostają nie naruszone)
[LEFT]
Zdjęcie przed edycją
I po edycji
skrypt:
Kod: Zaznacz cały
#!/bin/bash
find . -name "*.JPG" -exec convert {} -format jpg {}.jpg \;
rename 's/JPG.jpg$/jpg/' *.JPG.jpg
for i in *jpg
do
mogrify -normalize -geometry 800 *jpg \
convert $i \( +clone -blur 0x3 +level 20%,100% \) \
\( +clone -gamma 0 -shave 10x10 \
-bordercolor white -border 10x10 \) \
-composite \
\( +clone -gamma 0 -shave 10x10 \
-bordercolor white -border 1x1 \
-bordercolor black -border 9x9 \) \
-compose screen -composite $i
done
# position, Center, SouthEast, SothWest, NorthEast, NorthWest
pos="SouthEast"
files=`ls *jpg`
mkdir Gotowe
for i in $files
do
echo "Pliki gotowe w folderze Gotowe :"$i
composite -gravity $pos logo.png $i Gotowe/$i
done
rm *jpg
Pozdrawiam
Mirek[/LEFT]
Załączniki