Jak przeglądacie czasem tę stronę możecie zauważyć że fotki które są dodawane do wpisów zawierają logo. Kiedyś pomyślałem sobie że to może być dobra reklama przy wyszukiwaniu grafiki w przeglądarkach. Czasem w obszernych wpisach fotek jest naprawdę dużo np. Drukarka 3D, quadcopter. Kto myślał że dodaje logo ręcznie naprawdę się pomylił. Używam do tego małego skryptu który zaprezentuje poniżej.
Jak to wygląda?
Co robi skrypt i co potrzeba?
Na pewno potrzebny jest pakiet imagemagick i logo w formacie png. U mnie skrypt siedzi w pliku res a nazwa loga to logo.png
#! /bin/bash mkdir new 2 >/dev/null ls=`ls |grep -E "jpg|JPG"` count=`ls |grep -cE "jpg|JPG"` i=0 echo "Do skonwertowania $count pliki" for img in $ls; do filename=${img%.*} convert "$filename.*" -resize 1000 -quality 75% new/"$nazwa$filename"_1.jpg composite -gravity SouthEast logo.png new/"$nazwa$filename"_1.jpg new/"$nazwa$filename"_1.jpg let i=$i+1 echo -n -e "skonwertowane $i - $count \r" done
Tłumaczenie
-
Skrypt tworzy katalog new do którego będzie wrzucał gotowe fotki.
-
ls z grepem szukają plików z rozszerzeniem JPG
-
Pętla for wykona dwa działania na znalezionych plikach JPG
-
convert – zmniejszy plik JPG do rozdzielczości 1000px i obniży jego jakość do 75%. Co spowoduje znaczne zmniejszenie wielkości pliku.
-
composite – wstawi logo w prawy dolny róg
-
echo -n -e \r wyświetla odliczanie plików w tej samej linii.