Otevřít hlavní menu

Změny

PutImage

Přidáno 1 796 bajtů, 4. 10. 2012, 17:30
Created page with "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ý hor..."
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]]