Lire et sauvegarder au format PNG

Signaler
Messages postés
55
Date d'inscription
lundi 23 octobre 2000
Statut
Membre
Dernière intervention
6 août 2006
-
Messages postés
1
Date d'inscription
mardi 9 novembre 2010
Statut
Membre
Dernière intervention
9 novembre 2010
-
je cherche un moyen de charger dans un picturebox des images au format png
ainsi que sauvegarder des picturebox au format PNG en vb6

6 réponses


Salut
J'ai trouvé un prog qui converti n'importe quel type d'image en un autre, tu pourras ainsi convertir ton image en jpeg ou bmp et tu pourras l'insérer dans le picturebox.
Il s'agit de 'imagoweb' je crois que je l'ai téléchrgé sur www.download.com mais si tu ne trouves pas donne moi ton mail et je te l'envoi.
0
Messages postés
295
Date d'inscription
vendredi 20 décembre 2002
Statut
Membre
Dernière intervention
24 janvier 2014
1
0
Messages postés
40
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
2 mars 2009

Voici de quoi faire toutes tes conversions sans DLL additionnelle
Sauf une que je cherche encore convertir un Bitmap 32bits avec couche Alpha (Fichier ou tableau)

Private Declare Function GdiplusStartup& Lib "gdiplus" (Token&, inputbuf As Any, Optional ByVal outputbuf&)
Private Declare Sub GdiplusShutdown Lib "gdiplus" (ByVal Token&)
Private Declare Function GdipLoadImageFromFile& Lib "gdiplus" (ByVal FileName$, image&)
Private Declare Function GdipSaveImageToFile& Lib "gdiplus" (ByVal image&, ByVal FileName$, clsidEncoder As Any, encoderParams As Any)
Private Declare Sub GdipDisposeImage Lib "gdiplus" (ByVal image&)


'AnyFormat veut dire BMP,PNG,GIF,JPG, TIF ou RLE


Private Sub LoadPictureAnyFormat(File$, Pic as PictureBox)
 Dim TMP$
 TMP= environ("TMP") & "\Tmpbmp.tmp
 if Convert(File,TMP,0) then exit sub 'Conversion Bmp Failde
 Pic.picture=loadpicture(Tmp)
 Kill TMP
End Sub


PriVate Function AnyFormatToBmp&(Source$,Cible$)
'Function Inutile Convert(Source,Cible) fait exactement la même chose
 AnyFormatToBmp=Convert(File,TMP,0)
End Function
'Si Source posede une couche Alpha, Cible sera un Bmp32Bits(avec couche Alpha)


PriVate Function AnyFormatToPng&(Source$,Cible$)
 AnyFormatToPng=Convert(File,TMP,1)
End Function
'Problème si source est un BMP 32 Bits(couche alpha) dans le PNG résultant la couche Alpha sera perdue




PriVate Function AnyFormatToGif&(Source$,Cible$)
 AnyFormatToGif=Convert(File,TMP,2)
End Function


PriVate Function AnyFormatToJpg&(Source$,Cible$,Optional TauxJpg& = 75)
 AnyFormatToJpg=Convert(File,TMP,TauxJpg)
End Function


Private Function Convert&(Source$, Destination$, Optional Q&)
'Q: 0Bmp 1Png 2Gif Autre QJpg
Dim img&, L&(11), T&, S$, Token&L(4) 1: If GdiplusStartup(Token, L(4)) Then Convert 18: Exit Function
Convert = GdipLoadImageFromFile(StrConv(Source, vbUnicode), img): If Convert Then Exit FunctionT Q: If T 1 Then T = 6
If Q > 2 Or Q < 0 Then T 1: L(5) &H1D5BE4B5: L(6) = &H452DFA4A: L(7) = &HB35DDD9C L(8) &HEBE70551: L(9) 1: L(10) = 4 If Q < 0 Then L(11) VarPtr(Not Q) Else L(11) VarPtr(Q)
End IfL(0) &H557CF400 + T: L(1) &H11D31A04: L(2) = &H739A&: L(3) = &H2EF31EF8
Convert = GdipSaveImageToFile(img, StrConv(Destination, vbUnicode), L(0), L(4)) ', ByVal 0) autre que Jpeg
GdipDisposeImage img: GdiplusShutdown Token
'Convert returns:
'0 Ok,GenericError,InvalidParameter,OutOfMemory
'4 ObjectBusy,InsufficientBuffer,NotImplemented,Win32Error
'8 WrongState,Aborted,FileNotFound,ValueOverflow
'12 AccessDenied,UnknownImageFormat,FontFamilyNotFound,FontStyleNotFound
'16 NotTrueTypeFont,UnsupportedGdiplusVersion,GdiplusNotInitialized,PropertyNotFound
'20 PropertyNotSupported
End Function

Si tu es en VB6 ce code est directement applicable

Salut
0
Messages postés
40
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
2 mars 2009

C'est de nouveau Moi

sauver en PNG sans perdre la couche alpha sans DLL  RESOLU (trés bientôt)

je vais écrire une Sub SaveBitmap32asUnCompressedTif(Buffer() as Byte,TifFile$)
 c'est assez facile, c'est du bitmap tous les 2 avec inversion du rouge et du bleu
puis
(référence au message précédent)
faire AnyFormatToPng TifFile,PngFile
ou  Convert TifFile,PngFile,1 'ce qui est la même chose

c'est testé ,ca marche , il n'y a plus qu'a écrire SaveBitmap32asUnCompressedTif

A bientôt, j'imagine
0
Messages postés
40
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
2 mars 2009

Encore Moi
Ma source Sur Sauver en PNG avec couche alpha est disponible
CHARGE IMAGES COUCHE ALPHA PNG OU TIF DEPLACEMENT TRANSPARENT SAUVE EN TIF ET PNG
Si elle conviens ou non tu peux me faire signe
0
Messages postés
1
Date d'inscription
mardi 9 novembre 2010
Statut
Membre
Dernière intervention
9 novembre 2010

je ne comprends pas comment appeler la fonction qui va convertir mon png en jpg dans mon userform (code lancé suite à un clique sur un bouton par exemple) et où mettre les paramètres de conversion (source, destination).
J'ai mis le code des fonctions dans un module (module1).

Merci de votre aide,

Cordialement.

kennni
0