[VB6] Convertir un tableau de byte en stdpicture [Résolu]

badmike95 45 Messages postés vendredi 18 novembre 2005Date d'inscription 20 mai 2012 Dernière intervention - 4 sept. 2010 à 19:54 - Dernière réponse : badmike95 45 Messages postés vendredi 18 novembre 2005Date d'inscription 20 mai 2012 Dernière intervention
- 7 sept. 2010 à 11:19
Bonjour,
Je souhaiterais comme le dit le titre convertir un tableau de byte en SdtPicture. Mais voila, petite précision : le tableau de byte contient une image au format png et je ne connais pas de méthode me permettant de faire une telle conversion.

J'ai essayé celui-la qui se démarque beaucoup de tous ceux que j'ai trouvé mais après vérification, cette méthode ne fonctionne que si l'image est au format bmp or je souhaite absolument le faire avec un fichier au format png.
La librairie PaintX est capable de convertir un fichier png en SdtPicture sans problèmes, seulement voila on ne peut le faire que via un fichier et non depuis un tableau (que je sache)..

J'aurais pu faire comme ceci :
    Filename = "path/to/file.png"
    FF = FreeFile
    Open Filename For Binary Access Write As #FF
        Put #FF, , PNGBytes()
    Close #intNextFreeFile

Puis utiliser la librairie PaintX pour lire le fichier avant de le supprimer, seulement voila je ne souhaite également pas l'écrire et directement le lire depuis le tableau de bytes (ici PNGBytes).

Donc voila, je cherche depuis un moment une méthode mais en vain malheureusement. J'imagine que, sachant qu'il est possible de faire cela via un fichier, il devrait y avoir une solution dans le cas où il serait contenu dans un tableau de bytes.
C'est pourquoi je fais appel à vous en espérant que vous ayez une solution à m'accorder.
Merci d'avance pour toute vos réponses en tous cas;)
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 6 sept. 2010 à 10:23
3
Merci
Ca existe, c'est assez simple (voir sources de EBArtSoft)

le soucis là est que ton image est en PNG...

peut etre en passant par un objet Stream, GDI+ saura alors surement le charger...

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp

Merci Renfield 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de Renfield
badmike95 45 Messages postés vendredi 18 novembre 2005Date d'inscription 20 mai 2012 Dernière intervention - 5 sept. 2010 à 17:50
0
Merci
Petit Up.
Après d'autres recherches, j'ai fini par trouver quelque chose d'intéressant :
[url]http://www.dynamsoft.com/help/TWAIN/WebTwain/method%20LoadImageFromBytes.htm/url

J'ai donc essayé d'exploiter la librairie qu'ils utilisent (je ne suis d'ailleurs pas sûr d'avoir le droit de l'utiliser après ces 30 jours d'essai) mais bon, bien que ça fonctionne il semblerait que l'image ne soit exploitable que via le contrôle en relation avec la librairie et donc il ne permet pas ensuite la conversion vers StdPicture.. à moins que je me sois mal documenté.
La librairie semble principalement utilisé pour scanner des images donc hormis cette fameuse fonction "LoadImageFromBytes" le reste ne m'est pas vraiment utile ^^' mais bon, ça montre en tous cas que c'est bien possible et qu'il doit y avoir une méthode équivalente à PaintX et qui fonctionne comme ce "LoadImageFromBytes".
Merci d'avance.

Note : Petite erreur dans le message précédent, ce n'est pas Close #intNextFreeFile mais bien Close #FF, un petit oublie.
Commenter la réponse de badmike95
badmike95 45 Messages postés vendredi 18 novembre 2005Date d'inscription 20 mai 2012 Dernière intervention - 7 sept. 2010 à 11:19
0
Merci
Effectivement, je viens d'essayer cette méthode et ça fonctionne, merci ;)
Commenter la réponse de badmike95

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.