Programowanie w języku Pascal » FAQ

Jak kopiować fragmenty obrazu w trybie graficznym

Czasami może zajść konieczność skopiowania jednego fragmentu obrazu w inne miejsce, lub w ogóle zapamiętanie jakiegoś fragmentu obrazu do późniejszego wyświetlenia. Stosujemy wtedy polecenia GetImage i PutImage. Wygląda to tak:

 GetImage (X1, Y1, X2, Y2, P^);
 
 PutImage (Xcel, Ycel, P^, JakWyswietlic);

Oczywiście pierwsze polecenie zapamięta obraz, a drugie "wywali" obrazek na ekran. W miejscu X1, Y1, X2, Y2 wstawiamy współrzędne prostokąta ograniczającego wybrany wycinek. W miejscu Xcel i Ycel piszemy współrzędne, gdzie ma się znaleźć lewy górny wierzchołek wycinka.
P to oczywiście wskaźnik, i trzeba go gdzieś w varach zadeklarować. Ostatni parametr, JakWyswietlic, określa, jak ma zostać element "rzucony" na ekran. Ja w zasadzie używam tylko NormalPut, inne określają sposób mieszania wklejonego wycinka z poprzednią zawartością ekranu. Zainteresowanych odsyłam do helpa pod hasło "PutImage".
I jeszcze jedno: według helpa rozmiar tego obrazka nie może przekroczyć 64 KB (dokładnie 65520 bajtów). Jest to obszar obrazka o polu 65520 pikseli kwadratowych, czyli na przykład 320x203.

1 komentarz

doctype 2005-12-11 08:59

Przydatne... ale daj też te inne JakWyswietlic