15.06.2026 12:33

mPainter: zaznaczanie i maski

⏱️ 3 min czytania
Udostępnij:

mPainter: zaznaczanie i maski

Kolejny odcinek prac nad Moonlight Painterem domyka obszar zaznaczeń i masek warstw. Część funkcji była dotąd tylko pozycją w menu albo suwakiem bez działania pod spodem — teraz robią to, co obiecują.

Zapisz i wczytaj zaznaczenie

  • Zaznacz → Zapisz zaznaczenie… zapamiętuje bieżące zaznaczenie jako nazwany kanał alfa dokumentu. To dokładnie ten sam mechanizm, którego używa panel Kanały — zapisane zaznaczenia są więc widoczne i zarządzalne w jednym miejscu.
  • Zaznacz → Wczytaj zaznaczenie… przywraca zaznaczenie z wybranego kanału. Jeśli dokument zmienił w międzyczasie wymiary, maska jest dopasowywana do nowego rozmiaru.

Zakres kolorów

Nowe okno Zakres kolorów buduje zaznaczenie na podstawie podobieństwa koloru w całym obrazie — inaczej niż różdżka, która trzyma się spójnego obszaru. Klikasz kroplomierzem w podglądzie, by wskazać kolor docelowy, a suwak Tolerancja decyduje, jak szeroko sięga zaznaczenie i jak miękkie są jego krawędzie. Podgląd można przełączać między widokiem maski a obrazem, żeby na bieżąco widzieć, co zostanie zaznaczone.

Zaznacz i maskuj (dopracowanie krawędzi)

Drugie nowe okno pozwala dopracować krawędź już istniejącego zaznaczenia, z podglądem na żywo bezpośrednio na płótnie:

  • Wygładzanie — usuwa poszarpane, schodkowe brzegi;
  • Wtapianie — rozmywa krawędź o zadaną liczbę pikseli;
  • Przesuń krawędź — rozszerza lub zawęża zaznaczenie (±px).

Zatwierdzenie tworzy jeden krok cofania (oryginał → wynik), a Anuluj przywraca punkt wyjścia. Pod spodem korzystamy z tych samych, sprawdzonych operacji na zaznaczeniu, więc zachowanie jest spójne z resztą programu.

Gęstość i wtapianie maski warstwy

Suwaki Gęstość i Wtapianie w właściwościach maski warstwy dostały wreszcie prawdziwy silnik. Z maski surowej liczona jest „maska efektywna": wtapianie to rozmycie Gaussa krawędzi, a gęstość rozjaśnia zamaskowane (czarne) obszary, czyniąc maskę mniej agresywną. Co ważne — tę samą maskę próbkują oba silniki kompozycji: ten działający na karcie graficznej (podgląd na ekranie) i ten procesorowy (eksport i odczyt pikseli), więc to, co widzisz, jest dokładnie tym, co zapiszesz.

Wartości gęstości i wtapiania są trwałe: zapisują się w pliku projektu .mart, biorą udział w cofaniu (migawki historii) oraz w pracy zespołowej (synchronizacja metadanych warstw). Maska efektywna jest cache'owana i przeliczana tylko wtedy, gdy zmienisz gęstość, wtapianie albo samą maskę.

Co jeszcze przed nami

Szybka maska (malowanie zaznaczenia pędzlem z czerwonym podglądem) oraz Szybkie zaznaczanie trafią do osobnego odcinka. Następnie bierzemy się za filtry, korekty i gradienty.

📚 Powiązane posty

14.07.2026 22:19

Silnik gier: od szablonu do grywalnej gry RPG top-down

Startowy szablon silnika gier to teraz kompletny, grywalny wycinek gry RPG top-down: chodzenie po siatce, rozmowy z postaciami, przeciwnik goniący gdy...
Czytaj dalej →
14.07.2026 19:16

Moonlight Animate — system dialogów w grach

Silnik gier 2D w Moonlight Animate ma teraz kompletny system dialogów: kwestie z efektem maszyny do pisania, wybory z warunkami, zmienne fabularne i g...
Czytaj dalej →
14.07.2026 18:40

Moonlight Animate: ruchoma panorama dźwięku także w wyeksportowanym wideo

Dźwięk przejeżdżający z lewego do prawego głośnika brzmiał dobrze w podglądzie, ale eksport przez serwer zamrażał go w miejscu. Ostatnia luka parytetu...
Czytaj dalej →

📧 Bądź na bieżąco!

Zapisz się na listę oczekujących, aby otrzymywać powiadomienia o nowych postach na Dev Blog oraz informacje o starcie platformy Moonlight.