Mastodon
Zdjęcie okładkowe wpisu Naprawiamy funkcję Resize Canvas w Affinity Photo za pomocą Keyboard Maestro

Naprawiamy funkcję Resize Canvas w Affinity Photo za pomocą Keyboard Maestro

0
Dodane: 5 lat temu

Od grubo ponad roku proszę Affinity Photo o jedną prostą funkcję – zapamiętanie ostatnich ustawień okna dialogowego narzędzia Resize Canvas. Nie wytrzymałem i wziąłem sprawę w swoje ręce…

Odkąd przesiadłem się na Affinity Photo z Photoshopa CC, którego prędkość działania woła o pomstę do nieba (na otwarcie się prostego okna eksportu czasami trzeba czekać kilkanaście sekund, niezależnie od mocy komputera!), była jedna funkcja, która mnie strasznie denerwowała – Resize Canvas. To narzędzie zmienia rozmiar zdjęcia, zachowując istniejące treści bez zmian – nawet Microsoft Paint to ma.

To okno dialogowe ma dwie istotne dla mnie cechy – kłódkę, która odpowiada za to, czy chcemy zachować proporcje grafiki oraz Anchor (punkt zakotwiczenia), czyli z którego punktu na grafice będą doliczane dodatkowe piksele.

W 99% przypadków potrzebuję mieć otwartą kłódkę oraz wybrany punkt centralny. Niestety, Affinity nadal nie wprowadziło banalnej rzeczy – zapamiętanie ostatnio użytych ustawień.

Postanowiłem (nie wiem czemu tak długo z tym zwlekałem) naprawić to, za pomocą Keyboard Maestro.

Najpierw utworzyłem nową grupę makr, działających tylko w aplikacji Affinity Photo (musi być ona aktywnym oknem).

Następnie dodałem nowe makro o nazwie funkcji, którą chciałem naprawić (nazwa nie ma znaczenia). Składa się ono z następujących kroków:

  • funkcja w Affinity Photo (podobnie jak w Photoshopie) ma skrót klawiszowy ⌥⌘C, więc triggerem makra będzie ten sam skrót (Keyboard Maestro ma pierwszeństwo przed aplikacją, więc de facto ukradłem ten skrót Affinity Photo);
  • jako, że korzystam z dwóch Maców, o różnych ekranach i rozdzielczościach, co ma znaczenie, to dodałem własną zmienną ThisMac, za pomocą której sprawdzam, czy makro uruchamia się na MacBooku Pro czy na desktopie; w tym etapie przypisuję do zmiennej MacUUID aktywnego komputera;
  • następnie za pomocą pętli if sprawdzam czy jestem na MacBooku Pro;
  • jeśli tak, to symuluję wciśnięcie na klawiaturze skrótu klawiszowego ⌥⌘C, co otwiera w Affinity Photo funkcję Resize Canvas;
  • następnie pauzuję przez 0,25 s, aby dać czas UI na otworzenie okna dialogowego;
  • teraz symuluję klik myszki w odpowiedniej pozycji na ekranie (w kłódkę);
  • na koniec jeszcze raz symuluję kliknięcie lewego przycisku w środkowy punkt Anchor;

Te czynności wywołują się praktycznie natychmiastowo i mogę od razu wprowadzać zmiany w rozdzielczości oraz zatwierdzać je Enterem. Szybciej i sprawniej, wręcz nowa jakość, biorąc pod uwagę, jak często korzystam z tego narzędzia.

Pętla if obecnie zawiera tylko współrzędne do kliknięcia dla mojego MacBooka Pro. Sekcje else będzie zawierała te same kroki, ale z współrzędnymi dla mojego desktopa – to wynika z faktu, że ekrany obu komputerów mają inne rozdzielczości. Nie dodałem jeszcze drugiej części, bo jeszcze nie miałem ku temu okazji, ale zrobię to wkrótce. Dodam, że synchronizuję automatycznie makra pomiędzy oba Macami, aby mieć te same funkcje na obu komputerach aktywne.

Jeśli macie jakieś pytania lub coś jest niezrozumiałe, to dajcie znać.

Wojtek Pietrusiewicz

Wydawca, fotograf, podróżnik, podcaster – niekoniecznie w tej kolejności. Lubię espresso, mechaniczne zegarki, mechaniczne klawiatury i zwinne samochody.

Zapraszamy do dalszej dyskusji na Mastodonie lub Twitterze .