Přidáno 1 796 bajtů,
4. 10. 2012, 16:30 Přenese bitový obraz na obrazovku.
;Deklarace
procedure PutImage(X, Y: Integer; var BitMap; BitBlt: Word);
;Režim
:Reálný, Chráněný
;Poznámky
:(X, Y) je levý horní roh obdélníkové oblasti obrazovky. [[BitMap]] je parametr bez typu, který obsahuje výšku a šířku oblasti a bitový obrázek, který bude přenesen na obrazovku. BitBlt určuje binární operátor, kterého se k umístění obrázku na obrazovku použije.
:Každá konstanta odpovídá binární operaci. Například:
PutImage (X, Y, BitMap, NormalPut)
:umístí obrázek uložený v BitMap do (X, Y) pomocí instrukce assembleru MOV pro každý bajt obrázku.
:Obdobně [[PutImage]](X, Y, BitMap, XORPut) umístí obrázek uložený v [[BitMap]] do (X, Y) pomocí instrukce assembleru [[XOR]] pro každý bajt obrázku. Toto je často používaná animační technika pro "vlečení" obrázku po obrazovce.
:[[PutImage]](X, Y, BitMap, NotPut) zinvertuje bity v [[BitMap]] a poté umístí obrázek uložený v [[BitMap]] do (X, Y) pomocí instrukce assembleru [[MOV] pro každý bajt obrázku. Tím se zobrazí inverzní podoba původního obrázku [[BitMap]].
;Omezení
:Je nutno být v grafickém režimu.
;Viz také
:[[GetImage]]
:[[ImageSize]]
Vzorový příklad
{Getimage.PAS}
{Vzorový příklad pro proceduru GetImage.}
uses Graph;
var
Gd, Gm: Integer;
P: Pointer;
Size: Word;
begin
Gd := Detect;
InitGraph(Gd, Gm, ' ');
if GraphResult <> grOk then
Halt(1);
Bar(0, 0, GetMaxX, GetMaxY);
Size := ImageSize(10, 20, 30, 40);
GetMem(P, Size); { Alokování paměti v haldě }
GetImage(10, 20, 30, 40, P^);
Readln;
ClearDevice;
PutImage(100, 100, P^, NormalPut);
Readln;
CloseGraph;
end.
[[Category:Graph]]
[[Category:Procedúry Graph]]