wypełnianie liter

0

Witam, jak według was powinno wypełniać się litery których kontur składa się z linii i krzywych beziera drugiego stopnia ? Używam flood fill bazującym na algorytmie smitha ale nie sprawdza się on przy małych literach bo w miejscach gdzie jest wąskie przejście się zatrzymuje i nie wypełnia całej litery. Oczywiście próbowałem zacząć wypełnianie w kilku miejscach ale nadal pozostają niewypełnione place. Może znacie jakieś inne algorytmy które sprawdzają się przy tego typu obiektach. Jak to jest robione np. w Corelu ?

0

zdefiniuj wypełnianie liter. jeśli chcesz żeby tło i tło w środku liter miało taki sam kolor to po prostu zmień kolor tła przed narysowaniem litery, jeśli chcesz żeby tło zostało takie same, a zmieniła się obwódka litery to zmień kolor pędzla (czy jak to tam nazywasz) podczas rysowania. jeśli chcesz zmienić kolor wewnątrz liter a na zewnątrz pozostawić inny (dziwnie by to wyglądało) to możesz zmienić kolor tła przed rysowaniem, a później wypełnić tło (tło wypełnia się znacznie łatwiej niż litery w środku).

0

wydaje mi sie, że wyraził się jasno: ma litery których kontur składa się z linii i krzywych beziera i chce je wypełniać, żeby nie były konturowe tylko pełne. widocznie robi własny rendering tekstu.

0

zgadza się - chodzi mi o algorytm wypełniający. Mam narysowany obrys litery, punkty załamania (przy prostych początek i koniec, przy krzywych beziera początek i koniec łuku oraz punkt kontrolny). Teraz potrzebuje jakiś algorytm na wypełnienie tego który wypełnia litere znajdującą się na niejednolitym tle do jej obrysu.

0

nie musi byc implementacja - jezeli ktos wie jak to jest w ogole robione to sam pomysl na rozwiazanie. Ja juz chyba za dlugo nad tym siedze i nic sensownego nie przychodzi mi do glowy

0

dosyć dobrze sprawdza się algorytm oparty o kontrole parzystości z tymże użyłem takiego który nie skanuje linii w poszukiwaniu przecieć ale oblicza je na podstawie punktów załamania - każdy obiekt składa sie króciutkich linii przy krzywych beziera i dłuższych przy normalnych liniach.

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