Spróbujcie w Delphi wstawić na formę przycisk (któż tego nie robił!) - ma on efekt 3D, co nie? Chodzi o to że wygląda tak jakby miał grubość - tak jakby światło padało na niego z lewego górnego rogu.
Mój problem to napisanie algorytmu, który stosowałby ten efekt (zwany "beveled edges" z angielska) do bitmapy o dowolnym kształcie. Czyli żeby robił trójwymiarową elipsę, bądź kółko, bądź romb, bądź dowolny wielobok (o to głównie chodzi).
Wiem, że to zagadnienie to raczej wyższe studium graficzne; myślałem nawet nad zrobieniem bardzo prostego engine'a 3D który renderowałby graniastosłupy o dowolnym kształcie podstawy i o zadanym oświetleniu. Niestety zadanie mnie przerosło.
Ten efekt jest powszechnie stosowany, np. w Photoshopie i w wielu prostszych programach graficznych. Może źródła tego algorytmu są gdzieś dostępne? Czy ktoś wie coś na ten temat? Szukałem wszędzie i nic nie znalazłem.
Jeśli chcesz ZOBACZYĆ o co mi chodzi to wejdź na:
<url>jacekvool.w.interia.pl/bevel.jpg</url>
zielone koło, które posiada grubość, prawda ? :)
Jak widać zadanie sprowadza się do rozjaśniania i przyciemniania odpowiednich fragmentów obrazka.
Czy ktoś ma jakiś pomysł? HELP!