Lire et sauvegarder au format PNG

pirate75000 Messages postés 55 Date d'inscription lundi 23 octobre 2000 Statut Membre Dernière intervention 6 août 2006 - 18 sept. 2002 à 23:34
kennnni Messages postés 1 Date d'inscription mardi 9 novembre 2010 Statut Membre Dernière intervention 9 novembre 2010 - 9 nov. 2010 à 11:19
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

Utilisateur anonyme
19 sept. 2002 à 09:18
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
soldier8514 Messages postés 295 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 24 janvier 2014 1
21 mars 2007 à 20:57
0
deleplace Messages postés 40 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 2 mars 2009
23 févr. 2009 à 17:01
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
deleplace Messages postés 40 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 2 mars 2009
23 févr. 2009 à 18:29
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
deleplace Messages postés 40 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 2 mars 2009
24 févr. 2009 à 02:45
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
kennnni Messages postés 1 Date d'inscription mardi 9 novembre 2010 Statut Membre Dernière intervention 9 novembre 2010
9 nov. 2010 à 11:19
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
Rejoignez-nous