Copie rapide d'image entre TBitmaps

zorg63 Messages postés 15 Date d'inscription samedi 22 juin 2002 Statut Membre Dernière intervention 24 octobre 2003 - 24 oct. 2003 à 21:25
yvemoreau Messages postés 308 Date d'inscription mardi 11 juin 2002 Statut Membre Dernière intervention 26 septembre 2008 - 26 oct. 2003 à 19:43
Désolé pour le tire qui n'est pas très clair, je ne savais pas comment résumer mon problème. Le voici :

J'ai posté il y a quelques temps une source utilisant l'affichage d'un 'sprite' sur quatre images de fond différentes que j'alterne à l'écran pour créer un effet ressemblant à un serpent. Je voudrais accélérer l'affichage des images.

Ma question : Avec un TBitmap à l'écran et quatre Tbitmap en mémoire, est il possible de seulement donner l'adresse d'un des TBitmap en mémoire pour l'afficher plûtot que de copier toute l'image

Merci d'avance.

Zorg

1 réponse

yvemoreau Messages postés 308 Date d'inscription mardi 11 juin 2002 Statut Membre Dernière intervention 26 septembre 2008
26 oct. 2003 à 19:43
BitBlt ....Windows.pas

syntaxe

BitBlt(
DestDc:HDC; {a handle to the destination context}
X:Integer;{coord. horizontale du rect.destination}
Y:Integer;{coord. verticale du rect.destination}
Width:Integer;{largeur de la source et du rect.destination}
Height:Integer;{hauteur de la source et du rect.destination}
SrcDC:HDC;{a handle to the source device context}
XSrc:Integer;{coord. horizontale du rect. source}
YSrc:Integer;{coord. verticale du rect. source}
Rop:DWord;{raster operation code}
):BOOL; {return TRUe or FALSE}

Raster Operation Code (brush,source,destination)

$00000042 = NOIR
...
$00100C85 = NOT b
...
$00330008 = NOT s
...
$00550009 = NOT d
...
$00800C6 = s AND d
...
$00AA0029 = d
...
$00CC0020 = s
...
$00F00021 = b
...
$00FF0062 = BLANC

yve
0
Rejoignez-nous