Extraire image resource vers fichier [Résolu]

greg38bj 84 Messages postés jeudi 11 mars 2004Date d'inscription 17 novembre 2008 Dernière intervention - 23 déc. 2007 à 18:51 - Dernière réponse : greg38bj 84 Messages postés jeudi 11 mars 2004Date d'inscription 17 novembre 2008 Dernière intervention
- 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
greg38bj 84 Messages postés jeudi 11 mars 2004Date d'inscription 17 novembre 2008 Dernière intervention - 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

codes-sources a aidé 82 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.