Comment enregistrer une image ?

cs_Herminator Messages postés 34 Date d'inscription jeudi 4 novembre 2004 Statut Membre Dernière intervention 11 février 2008 - 4 avril 2005 à 11:52
cs_salazar Messages postés 241 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 19 février 2006 - 4 avril 2005 à 16:35
Bonjour à tous,

Je débute dans la programmation en VB6, j'aimerais savoir comment
enregistrer (en jpg par exemple) une image qui provient du presse
papier.

Mon application est faite en ADO, j'enregistre le chemin de mon image
dans ma base, (ça, ça marche !), mais comment enregistrer le fichier
sur le disque dur ??



Est-il possible également de redimensionner l'image de manière à limiter la taille du fichier ?

1 réponse

cs_salazar Messages postés 241 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 19 février 2006 1
4 avril 2005 à 16:35
Je ne sais pas, mais sur le forum j'ai déjà vu des codes qui le font.
J'ai fait une petite recherche et je te propose d'utiliser les API qui gèrent le Clipboard (presse papier).

Dans l'exemple suivant, dans le presse papier on y colle du texte on le récupère et l'affiche à l'écran. Ca ne répond pas à la question, mais tu as les API pour le presse papier. Maintenant il te faut utiliser les API pour écrire dans un fichier. recgarde sur : http://www.allapi.net/


Private Const CF_TEXT = 1


Private Declare Function GetClipboardData Lib "user32" (ByVal wFormat As Long) As Long


Private Declare Function CloseClipboard Lib "user32" () As Long


Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long


Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As Long) As Long


Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Long, ByVal ByteLen As Long)


Private Sub Form_Load()


Dim hStrPtr As Long, lLength As Long, sBuffer As String


OpenClipboard Me.hwnd


hStrPtr = GetClipboardData(CF_TEXT)


If hStrPtr <> 0 Then


lLength = lstrlen(hStrPtr)


If lLength > 0 Then


sBuffer = Space$(lLength)


CopyMemory ByVal sBuffer, ByVal hStrPtr, lLength


MsgBox sBuffer, vbInformation


End If


End If


CloseClipboard


End Sub
0
Rejoignez-nous