Extraire image resource vers fichier [Résolu]

Messages postés
84
Date d'inscription
jeudi 11 mars 2004
Dernière intervention
17 novembre 2008
- 23 déc. 2007 à 18:51 - Dernière réponse :
Messages postés
84
Date d'inscription
jeudi 11 mars 2004
Dernière intervention
17 novembre 2008
- 24 déc. 2007 à 10:42
Bonsoir à tous,
J'utilise la formule suivante pour extraire les fichiers contenus dans les ressources de mon projet :

Public Sub ExtraireResource(ByVal Destination As String, ByVal NomResource() As Byte, ByVal Append As Boolean)
        My.Computer.FileSystem.WriteAllBytes(Destination, NomResource, Append)
End Sub

Mon problème est que le fichier "*.png" contenu dans mes ressources ne s'extrait pas et me provoque une erreur.

Pouvez m'aider ?

@+
greg38bj
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
Messages postés
84
Date d'inscription
jeudi 11 mars 2004
Dernière intervention
17 novembre 2008
- 24 déc. 2007 à 10:42
3
Merci
Bonjour à tous
Bon, je vois qu'il n'y a pas eu foule de réponse, alors je répond à ma question :

la solution pour extraire l'image, est de la convertir en un tableau de bytes

Public Function ImageToBytes(ByVal ResourceImage As Image) As Byte()
        If (ResourceImage IsNot Nothing) Then
            Dim bmp As New Bitmap(ResourceImage)
            Dim ms As New System.IO.MemoryStream()
            bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp)
            Dim buff As Byte() = ms.ToArray()
            ms.Close()
            ms.Dispose()
            Return buff
        Else
            Return Nothing
        End If
    End Function

ensuite, j'extrais ma resource :
Image est le nom de ma resource
Destination est le chemin du fichier de destination

If not system.io.file.exists(Destination) then  'on verifie que le fichier n'exite pas
Try
My.Computer.FileSystem.WriteAllBytes(Destination, ImageToBytes(My.Resources.Image), false) 'on extrait la resource Image
Catch ex As Exception

End Try

End if

@+
greg38bj

Merci greg38bj 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de greg38bj

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.