Fonction BitBlt .. [Résolu]

Signaler
Messages postés
242
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
17 janvier 2018
-
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
-
Bonjour !
En regardant de nombreux code de jeux (référence a ceux de EBArtSoft par exemple :p) j'ai trouvé une fonction graphique qui m'interresse beaucoup :

Private Declare Function BitBlt Lib "gdi32.dll" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long

cependant, lors de son utilistion (je n'ai vu ces exemples qu'en VB6 ..) on fait appelle a des propriétés ".hdc", qui n'existe plus me semble-t-il en Vb 2005 ..

Quelqu'un pourrait-il m'expliquer comment utiliser cette fonction en Vb Net, car j'ai une flemme (et un manque de temps) monstrueuse d'apprendre DX pour le moment ..

Merci d'avance
Cordi@lement, KiTe.

7 réponses

Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
20
Ces constantes ont chacune une valeur que tu trouves dans le fichier wingdi.h du sdk de VisualC++
    Const SRCCOPY     &H00CC0020 ' dest source    Const SRCPAINT    &H00EE0086 ' dest source OR dest    Const SRCAND      &H008800C6 ' dest source AND dest    Const SRCINVERT   &H00660046 ' dest source XOR dest    Const SRCERASE    &H00440328 ' dest source AND (NOT dest )    Const NOTSRCCOPY  &H00330008 ' dest (NOT source)    Const NOTSRCERASE &H001100A6 ' dest (NOT src) AND (NOT dest)     Const MERGECOPY   &H00C000CA ' dest (source AND pattern)    Const MERGEPAINT  &H00BB0226 ' dest (NOT source) OR dest    Const PATCOPY     &H00F00021 ' dest pattern    Const PATPAINT    &H00FB0A09 ' dest DPSnoo    Const PATINVERT   &H005A0049 ' dest pattern XOR dest    Const DSTINVERT   &H00550009 ' dest (NOT dest)    Const BLACKNESS   &H00000042 ' dest BLACK    Const WHITENESS   &H00FF0062 ' dest WHITE
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
20
Bonjour,

Voici la déclaration correspondant à la signature de Bitblt sous vb.net

Public Declare Function BitBlt Lib "gdi32.dll" (hdc As IntPtr , nXDest As Integer, nYDest As integer, nWidth As Integer, nHeight As Integer, hdcSrc As IntPtr, nXSrc As Integer, nYSrc As Integer, dwRop As Integer) As Boolean

la propriété hdc est tout simplement le handle d'un objet.
donc sous vb.net cette propriété se nomme tout simplement Handle

++
Messages postés
242
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
17 janvier 2018

Merci beaucoup :) et en cherchant un peu j'ai trouvé a quoi correspondait chaque autre variable d'entrée, mais pas dwRop.
A quoi est-ce qu'elle correspond? :s

merci d'avance, KiTe.
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
20
Messages postés
242
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
17 janvier 2018

Justement, MSDN nous donne une liste de valeur pour dwrop qui est la suivante :
BLACKNESS
CAPTUREBLT
DSTINVERT
MERGECOPY
MERGEPAINT
NOMIRRORBITMAP
etc

mais lorsque je met l'une d'elles a l'emplacement prévu, sa me met une erreur comme quoi la variable n'est pas déclarée (VB 2005)... et ils ne donnent rien d'autre sur MSDN : /
Messages postés
242
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
17 janvier 2018

voilà merci c'est exactement ce que je cherchais :) (et je n'ai pas visual C++ donc bon ^ ^')

Et sur le matin j'ai aussi trouvé ce site qui résume tout (pour l'utilisation en VB6, parc contre)

http://docvb.free.fr/apidetail.php?idapi=144

(En espéant que sa aidera d'auters personnes qui auront le meme pb ;))

@ bientôt
KiTe.
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
20
Bon courage
++