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?

konwertowanie_fotek_1

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

  1. Skrypt tworzy katalog new do którego będzie wrzucał gotowe fotki.

  2. ls z grepem szukają plików z rozszerzeniem JPG

  3. Pętla for wykona dwa działania na znalezionych plikach JPG

  4. convert –  zmniejszy plik JPG do rozdzielczości 1000px i obniży jego jakość do 75%. Co spowoduje znaczne zmniejszenie wielkości pliku.

  5. composite – wstawi logo w prawy dolny róg

  6. echo -n -e \r wyświetla odliczanie plików w tej samej linii.