Mastodon

Pythonista i łączenie dwóch zrzutów ekranu

3
Dodane: 10 lat temu

Pythonista (5,99 €) to iOS-owa aplikacja, która pozwala pisać skrypty, a nawet inne aplikacje oparte o język Python. W rękach pomysłowych osób pozwala na uproszczenie wielu czynności wykonywanych na iUrządzeniach. Wielkim zwolennikiem tej aplikacji jest Federico Viticci, naczelny serwisu MacStories, który od dłuższego czasu stara się jak najwięcej czynności (związanych głównie z publikowaniem treści) wykonywać tylko przy pomocy iPhone’a lub iPada. Jedną z nich jest łączenie kilku zrzutów ekranu w jeden obraz właśnie przy pomocy aplikacji Pythonista.

Czasami przedstawienie obok siebie dwóch zrzutów pozwala lepiej wyjaśnić pewne rzeczy. Normalnie taką operację trzeba byłoby wykonać w jakimś programie graficznym i wklejać po kolei obrazki. Już na komputerze wymaga to sporo kliknięć nie mówiąc już o wykonywaniu tej czynności na iPadzie lub iPhonie. Tymczasem Pythonista pozwala na pobranie wybranych zdjęć bezpośrednio ze schowka. Wystarczy, że skopiujemy je z aplikacji Zdjęcia, uruchomimy skrypt i chwilę później mamy gotowy obrazek!

Dziś chciałbym Wam pokazać, jak to wykonać z dwoma zrzutami ekranu, tworząc pełnowymiarowy obraz z dwóch grafik z iPhone’a. Zacznijmy może od kodu, który wklejamy do nowego dokumentu (Empty Script) w aplikacji Pythonista:

Nie będę może objaśniał linijki po linijce, ale skupię się na najważniejszych elementach:

  • linia 6 i 7: do zmiennych im1 oraz im2 przyporządkowane są skopiowane zrzuty (o indeksach odpowiednio idx=0idx=1);
  • linia 8: tutaj tworzony jest nowy dokument graficzny o rozmiarze 1300 × 1136 pikseli (przypomnę, że wymiar zrzutu z iPhone’a to 640 × 1136 px, czyli dwa obrazy obok siebie będą miały szerokość 1280 px, a w skrypcie podałem 1300 px, ponieważ chcę mieć przerwę między obrazami) oraz kolorze białym. Warto przy tym zauważyć, że podajemy wartości RGBA, gdzie „A” oznacza kanał alpha, czyli przezroczystość koloru (255 to obraz nieprzezroczysty, a 0 – całkowicie przezroczysty). Zarówno rozmiar obrazu jak i jego kolor można oczywiście dowolnie (no prawie…) modyfikować.
  • linie od 27 do 31: jest to „widzialny” początek naszego skryptu, czyli zapytanie, w jakiej kolejności chcemy ułożyć nasze zrzuty, czyli czy pierwszy w kolejności (nie pierwszy zaznaczony) ma być pierwszym, czy drugim na obrazie łączącym dwie grafiki).
  • linie od 10 do 23: ta funkcja wywoływana jest, gdy wybierzemy pierwszą opcję [1] Create;
  • linia 17 oraz 18: na utworzony wcześniej obszar roboczy wklejane są zrzuty w odpowiednio wskazanych współrzędnych – pierwszy w punkcie [0,0], a drugi [660,0] (660, ponieważ dodaliśmy odstęp).
  • linia 19: w konsoli Pythonisty wyświetlony zostanie nasz gotowy obraz, który możemy zapisać do Rolki aparatu przez przytrzymanie i wybranie z menu opcji Save Image lub skopiowanie do schowka (opcja Copy Image);
  • linia 22: nasz obraz zostaje automatycznie skopiowany do schowka (bez względu, czy wykonamy akcję opisaną powyżej), a jednocześnie będzie w postaci pliku jpeg z jakością 0.80. I to wszystko w jednej linijce! Oczywiście również tutaj możemy modyfikować te właściwości (większa wartość jakości da lepsze rezultaty i większy rozmiar pliku, natomiast mniejsza wartość pogorszy jakość, ale za to plik będzie mniej ważył).
  • linie od 48 do 52: jeśli po uruchomieniu skryptu wybierzemy opcję [2] Control, to w następnym kroku wywołane zostanie zapytanie, który obraz ma być z lewej strony (biorąc pod uwagę kolejność z aplikacji Zdjęcia). Jeśli wybierzemy [1] The first image, zostanie wywołana funkcja z opisanych linii 10–23. Natomiast wybranie [2] The second image uruchomi bardzo podobną funkcję z małą zmianą, o której poniżej;
  • linie 77 i 78: wspomnianą zmianą jest po prostu wklejenie zrzutów w odwrotnych współrzędnych jak w liniach 17 i 18, czyli pierwszy zrzut zostanie wklejony w miejscu [660,0] (z prawej strony), a drugi w punkcie [0,0] (z lewej strony). Reszta funkcji jest identyczna, czyli w konsoli zostanie pokazane zdjęcie finalne, które jednocześnie zostanie skopiowane do schowka jako jpeg z jakością 0.80.

Całość działa naprawdę bardzo szybko, co możecie zauważyć na poniższym gifie:


Szczerze, zachwycają mnie możliwości, jakie daje Pythonista. A czy Wy mieliście już styczność z tą aplikacją? A może stworzyliście własne, ciekawe skrypty? Koniecznie podzielcie się nimi w komentarzach.

Źródło: MacStories.net

Maciej Skrzypczak

Użytkownik sprzętu z nadgryzionym jabłkiem, grafik komputerowy, Redaktor iMagazine.pl. Mastodon: mcskrzypczak@c.im

Zapraszamy do dalszej dyskusji na Mastodonie lub Twitterze .

Komentarze: 3