Rozciąganie grafiki?

0

Potrzebuję jakiegoś szybkiego algorytmu (lub funkcji winapi) do rozciągnięcia bitmapy w czworokącie. Nie ma to być jednak prostokąt, a tym bardziej kwadrat, ale jakiś dowolny czworokąt. Z góry dzięki za odpowiedź.

0

Widziałem kiedyś dokładny opis algorytmu na http://gamedev.net, ale nie podam strony dokładnie, bo nie pamiętam...

0

W unicie http://www.andrew.b7.pl/Grafika.pas jest funkcja (rysujCzworokąt) zwracająca dowolny czworokąt z danego obszaru.

W skrócie wygląda to tak :

a := AktualneX/(bmp.Width);
b := AktualneY/(bmp.Height);
p.x := d1.x+(d2.x-d1.x)*a+(d4.x-d1.x)*b+(d1.x-d2.x+d3.x-d4.x)ab;
p.y := d1.y+(d2.y-d1.y)*a+(d4.y-d1.y)*b+(d1.y-d2.y+d3.y-d4.y)ab;

gdzie p jest punktem wyjściowym, a d1-4 punktami (wieżchołkami) czworokąta.

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