PutImage(integer,integer,Void,word) Method
A megadott, téglalap alakú grafikus képernyőrészletet a megadott memóriaterületről kirajzolja az (X1, Y1) pontba.
procedure PutImage(const X1, Y1: integer; var Image; BitBlt: word);
Parameters
- X1
- Type: integer
A kirajzolandó téglalap bal felső sarkának X koordinátája.
- Y1
- Type: integer
A kirajzolandó téglalap bal felső sarkának Y koordinátája.
- Image
- Type: System.Void
A memóriaterület, ami tartalmazza a korábban lementett képet.
- BitBlt
- Type: word
A másolás módja (lásd alább).
A PutImage kis képek esetén (~100x100) gyors, nagyobbak esetén viszont lassú. Egymás után ismételt hívásokban, főleg nagy képek mellett lehetőleg ne használja. A másolási mód jelentősen lassíthat a dolgon a CopyPut és a NotPut relatíve gyors, az összes többi legalább megduplázza a rajzoláshoz szükséges időt.
A használható másolási módok:
BitBlt | Assembly művelet |
---|---|
CopyPut = 0 | MOV |
XorPut = 1 | XOR |
OrPut = 2 | OR |
AndPut = 3 | AND |
NotPut = 4 | NOT |
procedure OffsetImage; var Image: Pointer; Size: integer; begin Size := ImageSize(100, 100, 200, 200); if Size > 0 then begin GetMem(Image, Size); GetImage(100, 100, 200, 200, Image^); PutImage(150, 150, Image^, CopyPut); FreeMem(Image, Size); end; end;