StdPicture --> Bitmap (ou image)

Résolu
hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 - 23 août 2004 à 11:13
hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 - 23 août 2004 à 18:16
Bonjour à tous,
première question VB :))

j'ai à ma disposition un handle provenant d'un stdPicture de VB6, et j'aurais besoin de le transformer en fichier bitmap avec VB.Net

J'avais d'abord pensé à la classe Bitmap, mais celle-ci ne semble pas pouvoir construire un objet à partir d'un handle.

Y a-t-il une solution qui permette de construire un bmp depuis un handle de stdPicture ??

Merci de votre aide.

Nico

3 réponses

hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 2
23 août 2004 à 18:16
mmm je crois que j'ai trouvé tout seul :big)

voilà les deux erreurs ...
        Dim handleImg As New IntPtr(CType(valeur, Integer))
        aBmp.Save("d:\bidule.bmp", System.Drawing.Imaging.ImageFormat.Bmp)


Merci de ton aide

A+
3
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
23 août 2004 à 12:36
salut

stdpicture renvoie dans handle un HBITMAP (si c une bitmap)...
donc tu peux utiliser un objet Image puis sa méthode FromHbitmap (puis un objet bitmap si tu veux avec New(ByVal original As System.Drawing.Image) sinon garde le image que tu peux enregistrer avec Save...

voilà

ShareVB
0
hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 2
23 août 2004 à 14:11
salut, merci de ta réponse

j'ai fait un truc comme ca :

        Dim anImg As System.Drawing.Image
        Dim aBmp As System.Drawing.Bitmap
        Dim handleImg As IntPtr
        handleImg = CType(valeur, IntPtr)
        aBmp = anImg.FromHbitmap(handleImg)
        aBmp.Save("d:\bidule.bmp")

et en fait il bloque sur le cast
sachant que le débugger me dit que valeur vaut : "1678050337 {Integer}"

Que faire ?

Merci de votre aide

Nico
0
Rejoignez-nous