Narzędzie do retuszowania

0

Witam. Mam pytanie do was programiści. Dostałem taki oto projekt :

Narzędzie do retuszowania zdjęć przez kopiowanie fragmentów obrazu („stempel”): dla obrazów 8-bitowych w odcieniach szarości, obsługa myszką, co najmniej dwa różne kształty stempla (np. koło i kwadrat).

Za co się zabrać. Proszę o jakieś porady jak to ma wyglądać.

Na początek myślałem nad czymś takim:

  • wczytywanie obrazów do pamięci
  • listenery na myszkę
  • napisać poszczególne filtry
  • zrobić GUI
  • spiąć wszystko z kawałków
1

odpalić Corel PhotoPaint albo Adobe Photoshop i zobaczyć jak działa narzędzie „klonowanie”. I myśleć, myśleć, myśleć, jak to zaimplementować.

0

Szkoda tylko że takie narzędzie działa w "tle"

1

Klonowanie (stempel):

  • Gość zaznacza fragment bitmapy (albo wybiera kształ stempla).
  • Zapisujesz wymiary w postaci prostokąta - 4 skrajne.
  • Tworzysz bufor na skopiowanie fragmentu (dodajesz 1 bit(bool) na widoczne/przeźroczyste).
  • Kopiujesz piksele do bufora - jeśli są poza kształtem to nawet nie pobierasz tylko od razu ustawiasz przeźroczysty. Jeśli wewnątrz - widoczny + pobierz kolor.
  • Gość naciska, a Ty wklejasz tam zawartość bufora jeśli widoczne - skopiuj kolor.

Pamiętaj o formacie pikseli. 8bit to 1 bajt.

Tak jest najprościej.

1
balu napisał(a):

Szkoda tylko że takie narzędzie działa w "tle"

W GIMPie do retuszowania obrazu oprócz stempla jest jeszcze bardziej wyrafinowane narzędzie, noszące nazwę Healing Tool (takie z ikonką plastra). Od strony użytkownika nie różni się praktycznie niczym od stempla, ale efekt lepszy. I oczywiście GIMP nie działa w tle, bo masz do niego pełny kod źródłowy. Have fun ;)

1

A o tym to nie pomyślałem. Dzięki Spine

1 użytkowników online, w tym zalogowanych: 0, gości: 1