Szukaj na blogu

Skrypt układający układankę z pociętych zdjęć.

W komentarzach pojawiły się niedawno prośby o skrypt który usprawnił by przeglądanie zdjęć na stronie fotolia.pl.
Głównym problemem tej strony jest to, że zdjęcia są tam pocięte na malutkie kawałki i widać tylko jeden kawałek na raz.

Aż się prosi aby dostosować nieco pobieracz map żeby pobrał te małe kawałki i poskładał z nich duże zdjęcie które można by normalnie oglądać na pełnym ekranie, a jak się spodoba ustawić jako tapetę na pulpicie albo wydrukować.

Coś co wydawało się drobną przeróbką o której nie warto wspominać w osobnym wpisie na blogu ostatecznie okazało się dużo większym wyzwaniem, a to dlatego że fragmenty tych zdjęć nie pasują do siebie tak równo jak fragmenty map.
Dostajemy nawet więcej kawałków układanki niż potrzeba ale kawałki te czasem nachodzą na siebie. Konieczne okazało się porównywanie ich ze sobą.

Tak powstał pobieracz foto. Zastosowane w nim rozwiązanie jest mimo wszytko dość proste, dlatego nie jest on idealny, radzi sobie nieźle ze zdjęciami natury ale grafiki tworzone sztucznie które zawierają duże powierzchnie jednolitego koloru mogą go ogłupić.

Jeśli ktoś chce wypróbować jego działanie to wymagania tego skryptu są podobne jak w przypadku pobieracza map (zalecany python z serii 2 np 2.7 bo ma już domyślnie zainstalowaną bibliotekę PIL).

Uruchamia się podając nazwę pliku w jakim ma zostać zapisany obrazek i adres strony na której się on znajduje, dodatkowo można podać rozmiar układanki (domyślnie 3×3) oraz zdecydować czy na zdjęciu mają się znajdować napisy czy też skrypt ma dobierać kawałki układanki w taki sposób aby wyszło nam zdjęcie bez napisów (co dłużej trwa).

przykłady:
./pobieracz_foto.py test1.png http://pl.fotolia.com/id/41834806
./pobieracz_foto.py test2.png http://pl.fotolia.com/id/56950909 4
(4 oznacza 4×4)
./pobieracz_foto.py test3.png http://pl.fotolia.com/id/37106511 3 napisy
(3×3 bez zwracania uwagi na napisy)

Nie ma górnych ograniczeń na wielkość układanki ale radzę nie przesadzać, ze względu na czas potrzebny do pobrania kawałków układanki (nie da się ich pobierać zbyt szybko aby nie zblokować serwera, w razie problemów z serwerem skrypt będzie robił kilkuminutowe przerwy aby dać mu odpocząć).

W którymś z komentarzy poprzedniego wpisu na blogu dałem link do wstępnej wersji tego skryptu, jeśli ktoś ją pobrał to polecam pobrać jeszcze raz z linka w tym wpisie na blogu, tutaj jest najbardziej aktualna wersja z uwzględnieniem różnych poprawek.

Brak komentarzy:

Prześlij komentarz