[VB] comment sauvegarder une image dans un fichier

comment sauvegarder une image dans un fichier [VB] - VB/VBA/VBS - Programmation

Marsh Posté le 15-06-2002 à 21:35:22    

voila, j'ai trouver sur internet les sources d'un prog permettant de recuperer l'icone d'un fichier, malheureusement ce fichier ne permet pas de le sauvegarder sur le disque dur!
 
quelle commande dois je utiliser?
 
ca serait pour utiliser l'icone dans une image listview
 
merci

Reply

Marsh Posté le 15-06-2002 à 21:35:22   

Reply

Marsh Posté le 16-06-2002 à 15:39:15    

personne?

Reply

Marsh Posté le 17-06-2002 à 10:54:19    

personne ne sait comment je peux ecrire dans un fichier?

Reply

Marsh Posté le 17-06-2002 à 10:58:01    

thunderbird54 a écrit a écrit :

voila, j'ai trouver sur internet les sources d'un prog permettant de recuperer l'icone d'un fichier, malheureusement ce fichier ne permet pas de le sauvegarder sur le disque dur!
 
quelle commande dois je utiliser?
 
ca serait pour utiliser l'icone dans une image listview
 
merci  




 
 
tu peux préciser un peu ?  
c un peu flou


---------------
Music|Market|Feed|Loom|DVD
Reply

Marsh Posté le 17-06-2002 à 16:11:39    

voici le code
 
 
Option Explicit
 
 
Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long
 
 
Private Declare Function ExtractIconEx Lib "shell32.dll" Alias "ExtractIconExA" _
                            (ByVal lpszFile As String, _
                            ByVal nIconIndex As Long, _
                            phiconLarge As Long, _
                            phiconSmall As Long, _
                            ByVal nIcons As Long) As Long
 
 
 
Private Declare Function DrawIconEx Lib "user32" _
                            (ByVal hDC As Long, _
                             ByVal xLeft As Long, _
                             ByVal yTop As Long, _
                             ByVal hIcon As Long, _
                             ByVal cxWidth As Long, _
                             ByVal cyWidth As Long, _
                             ByVal istepIfAniCur As Long, _
                             ByVal hbrFlickerFreeDraw As Long, _
                             ByVal diFlags As Long) As Boolean
 
 
Private Declare Function DestroyIcon Lib "user32" _
                            (ByVal hIcon As Long) As Long
' Valeur de diFlags pour DrawIconEx
 'Const DI_MASK = &H1
 'Const DI_IMAGE = &H2
 Const DI_NORMAL = &H3
 'Const DI_COMPAT = &H4
 
 
Private Sub Command1_Click()
 Dim sFilename As String
  Dim nIconIdx As Long
  Dim hSmallIcon As Long
  Dim hLargeIcon As Long
  Dim pDessin
  Dim gDessin
  Dim Extraction
  Dim Ind
 
commonddialog1.showopen
sFilename = commonddialog1.filename
 
'Renvoie le nombre total d'icônes du fichier
Ind = ExtractIcon(Me.hDC, sFilename, -1)
Label1.Caption = "Nombre d'icones dans le fichier = " & Ind
 
If Ind > 0 Then
    'Dans les fichiers l'index de la première icône est toujours 0
    nIconIdx = 0
    Do While nIconIdx < Ind
    'Renvoie le nombre d'icone extrait (ou 0 si erreur)
        Extraction = ExtractIconEx(sFilename, nIconIdx, hLargeIcon, hSmallIcon, 1)
        Label3.Caption = "Index d'icone = " & nIconIdx
        Picture1.Cls
        Picture2.Cls
    ' dessine les icones dans les PictureBox
        pDessin = DrawIconEx(Picture1.hDC, 1, 1, hSmallIcon, 0, 0, 0, 0, DI_NORMAL)
        gDessin = DrawIconEx(Picture2.hDC, 1, 1, hLargeIcon, 0, 0, 0, 0, DI_NORMAL)
    ' Détruit l'icone extrait de la memoire
        DestroyIcon hSmallIcon
        DestroyIcon hLargeIcon
       
        nIconIdx = nIconIdx + 1
         
        DoEvents    'pour raffraichir l'affichage et ne pas bloquer le système
    Loop
End If
End Sub
 
Private Sub Form_Load()
 
'************************************************************
'* NOM : ExtractIcon
'* DATE : 14/11/1998
'*
'* AUTEUR : J-Luc
'*
'* CODE TROUVE SUR "Le petit monde de Visual Basic"
'*                 http://www.vbasic.org
'*
'* DESCRIPTION :
'* Permet d'extraire toutes les icônes contenues dans un fichier
'*, en petite taille (16x16) ainsi qu'en grande taille (32x32)
'* Les icônes sont ensuite placés dans un contrôle PictureBox,
'* ce qui permet d'en faire ensuite ce qu'on veut : les affecter
'* à un autre contrôle comme un ImageList....
'*
'* A noter : dans cet exemple, les icônes défilent à la suite
'* les unes après les autres sans interruption jusqu'à la dernière icône.
'* A vous d'adapter cet exemple en fonction de vos besoins bien sûr
'*
'************************************************************
 
 
 
End Sub
 
 
et mon besoin est de sauvergader la grande icone contenu dans hLargeIcon
 
Merci!

Reply

Marsh Posté le 18-06-2002 à 22:14:33    

alors?

Reply

Marsh Posté le 21-06-2002 à 18:57:22    

:bounce:

Reply

Marsh Posté le 22-06-2002 à 06:46:19    

Met les picture box avec autoredraw = true et ajoute ca :
 
Private Sub SauveImage()
 
    SavePicture Picture1.Image, "g:\temp\test.bmp"
 
End Sub
 
 
C'est de moi (change le chemin, évidemment).

Reply

Marsh Posté le 22-06-2002 à 16:27:58    

ah merci  
 
t trop fort kom gars, en plus t dans toute les branche musiques, prog...
 
re merci, ca m'aide bien!

Reply

Marsh Posté le 24-06-2002 à 11:44:38    

euh ... merci pour le compliment :)

Reply

Marsh Posté le 24-06-2002 à 11:44:38   

Reply

Marsh Posté le 24-06-2002 à 13:38:08    

de rien

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed