Czy chcieliście kiedyś udostępnić tapetę na pulpit i zastanawialiście się jak szybko przeskalować obrazki do wszystkich popularnych rozdzielczości? Ja ostatnio miałem ten problem i przeszukiwanie internetu nie wiele mi pomogło. Dlatego postanowiłem sam zrobić takie narzędzie i teraz chciałbym je również Wam udostępnić.

Do działania będziemy potrzebowali zainstalowanego ImaeMagick’a. Jest to narzędzie do operacji na grafikach, które dzieła z linii komend. Na Mac OSX najłatwiej jest je zainstalować za pomocą brew. Jeśli nie znacie brew, a właściwie Homebrew, to koniecznie musicie poznać. Jest to manager pakietów podobny jak apt-get na Linuxie. Więcej o Homebrew dowiecie się na stronie http://brew.sh/. Jeśli natomiast chcecie po prostu szybko zainstalować Homebrew to użyjcie komendy

1
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

Kolejnym krokiem jest instalacja ImageMagick’a, co w tym momencie robimy za pomocą prostej komendy:

1
brew install imagemagick

Prawda, że banalne? W celu przygotowania tapet wykorzystamy przygotowany przeze mnie skrypt. W celu użycia skryptu należy podać jako parametr nazwę pliku, jakiego chcemy użyć do wygenerowania tapety. Przykładowo, jeśli chcemy skonwertować plik tapeta.jpg to zakładając, że skrypt i plik są w tym samym katalogu powinniśmy napisać w linii poleceń:

1
sh resize_wallpaper.sh tapeta.jpg

Wtedy skrypt automatycznie stworzy katalog o nazwie tapeta i umieści w nim skonwertowane pliki.

Wiadomo, że tła pulpitu mają różne proporcje. Skrypt działa w ten sposób, że zawsze wybiera środek pliku do stworzenia tapety. Umieściłem w nim wydaje mi się najpopularniejsze rozdzielczości, a na pewno wszystkie rozdzielczości urządzeń z Mac OSX i iOS. Jeśli jednak jakiejś rozdzielczości by Wam brakowało to można w bardzo łatwy sposób dodać kolejną. Spójrzmy na przykładową linijkę ze skryptu:

1
convert $filename.$extension -resize "2880x1800^" -gravity center -crop 2880x1800+0+0 +repage -quality 80 -set filename:area '%wx%h' $filename/$filename'_%[filename:area].jpg'

Jest to akurat linijka przygotowująca tapetę dla Macbook.a Pro z Retiną. Od razu rzucają się w oczy dwa wystąpienia ciągu znaków “2880×1800”. Wystarczy powielić taką linię i w kopii podmienić te dwa wystąpienia rozdzielczości na inną jakiej sobie życzymy.

Miłego używania! Jeśli macie jakieś pytania piszcie śmiało na twitter’ze lub na maila pawel [at] pawelwojciechowski.com.

Skrypt do pobrania: ZIP