PutImage: Porovnání verzí
Skočit na navigaci
Skočit na vyhledávání
(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...") |
(Žádný rozdíl)
|
Verze z 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
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.