SAVEPICTURE() AU FORMAT PNG, JPG, TIF ETC...

us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 - 16 juil. 2010 à 10:49
cdbi Messages postés 50 Date d'inscription mercredi 12 mars 2003 Statut Membre Dernière intervention 4 mai 2022 - 30 mars 2015 à 15:26
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/52039-savepicture-au-format-png-jpg-tif-etc

cdbi Messages postés 50 Date d'inscription mercredi 12 mars 2003 Statut Membre Dernière intervention 4 mai 2022
30 mars 2015 à 15:26
oui !! car ces 2 sources de EB utilisent le même code pour les PNG
Sauvegarder une image en PNG (55022)
SavePicture (52039)
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
26 mars 2015 à 19:12
Bonsoir 2 codes sources différents, 2 commentaires identiques...
cdbi Messages postés 50 Date d'inscription mercredi 12 mars 2003 Statut Membre Dernière intervention 4 mai 2022
26 mars 2015 à 15:48
Bonjour EB
Les fichiers PNG créés ne sont pas lisibles par les programmes comme PhotoSuite.et Corel PaintShop pro plante lamentablement.
Seulement par l'Explorateur et Office Picturemanager de Windows (W7-64)
J'ai essayé de modifier le code............
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
14 oct. 2012 à 12:39
C'est marrant Manque trop de compétence pour en faire un membre utile

:)
micka1006 Messages postés 17 Date d'inscription lundi 23 mars 2009 Statut Membre Dernière intervention 13 mai 2013
14 oct. 2012 à 10:43
C'est de la merde manque trop de fichiers pour en faire la demo
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
25 juin 2012 à 16:09
Rectification, je viens de m'apercevoir que le filtre de PictureSave n'est pas bon non plus, si on choisi All tout les fichier sont afficher y compris ceux qui ne sont pas des fichiers image.
La syntaxe conforme devrait être...

cdg.Filter = ("All picture(*.bmp ; *.jpg ; *.png),*.bmp,*.jpg,*.png")
Je n'ai fait que pour trois filtres, à vous de compléter.
A+
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
25 juin 2012 à 16:00
Bonjour à tous,
Je fais remonter ce topic parce que j'ai deux petites rectifications à faire.
1°) J'ai changer de PC et c'est probablement comme dis par Jacques Antoine, le codage des fichiers ne fonctionne plus du tout malgré tout mes essais.
Mais ce n'est pas fort important j'ai trouver un snippet qui code tout les Png, bmp et jpg sans aucun problème, en fait ce sont les seul qui m’intéresse.
Pour ceux que ça intéresse : http://www.codyx.org/snippet_conversion-images-bmp-jpg-png-avec-gdi_160.aspx
par Gobillot.
2°)J'emploi quand même la classe CommonDialog, (pourquoi réinventer la roue) mais il y a un petit bug dans la déclaration du filtre.
Il faut remplacer le filtre dans PictureLoad comme il est défini dans PictureSave, sinon il n'y a que les bmp.
A+
cdbi Messages postés 50 Date d'inscription mercredi 12 mars 2003 Statut Membre Dernière intervention 4 mai 2022
22 juil. 2011 à 12:01
Bonjour EB,
Pas de problèmes....tout fonctionne.
J'ai intégré VBPicEncoder.dll dans un de mes softs qui traite les EXIF.
Après enregistrement en JPG, impossible de créer ou de lire EXIF.
Avant j'utilisais bien IJL11.dll mais avec mIJL.bas et les JPG
produits supportaient EXIF.
J'utilise AisExif.dll sous license (Gratuit 30 jours):
http://www.watermarker.com/exif-iptc-gps/
En comparant mIJL.bas et JPGEncoder.cls, j'ai pas trouvé !
mIJL.bas utilise CDIBsection.cls ???
A+
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
16 juil. 2011 à 12:08
Bonjour,
Ce que je cherchais depuis...
Malgré tout, j'ai eu quelques problème pour faire fonctionner cette source et je les expliques pour éventuellement d'autre utilisateur.
Au premier lancement, la dll ijl11 introuvable, j'ai suivis la remarque plus haut mais pas de résultat.
Etant sous Vista j'ai voulu enrégistré la dll avec RegSvr32, mais l'erreur "Point entrée introuvable" est retournée.
Idem si je met la dll en référence.
Enfin, j'ai trouvé, il faut ouvrir VB6 en tant qu'administrateur, charger le projet, et enfin ajouter ChDir App.path
Et Yooups c'est parfait.
Merci pour cette source.
A+
cs_jacques-antoine Messages postés 79 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 22 mai 2017
26 juil. 2010 à 17:11
US_30, je pense que c'est lié à l'environnement de VB : très souvent, lorsque j'ai fait un paquet cadeau d'une appli pour la fourguer à un copain, il n'a pas pu l'utiliser, même avec un empaquetage complet, alors que chez moi ça fonctionne. Donc, il y a des choses qui existent sur une bécane et dont VB se sert sans même qu'on le sache et d'autres qui n'existent pas mais qui ne sont pas pour autant incluses dans l'empaquetage, lequel doit supposer qu'elles existent. Comme je ne suis pas sur place pour voir comment se passe l'installation de ces applis, je suis bien incapable de dire s'il y a eu un loup ou pas, ni même de savoir, au moment de l'exécution, où se situe le problème, les copains en question étant généralement des béotiens : pour eux, ça doit marcher tout de suite, sinon ils jettent le machin aux orties. Bref, il n'y a que ceux qui utilisent VB comme développeurs qui peuvent utiliser ce que je ponds, mais même comme ça, il y a des surprises ..........
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
26 juil. 2010 à 16:37
Bonjour,

Ceci dit, je n'ai rencontré aucun problème dans les formats... Est-ce un problème isolé ou je suis chanceux ? Je penche pour la première proposition compte tenu que pour seconde, cela me changerais tellement...

Amicalement,
Us.
cs_jacques-antoine Messages postés 79 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 22 mai 2017
26 juil. 2010 à 15:14
oups! le doigt il a glissé : c'est chdir et non chrdir qu'il faut placer en première instruction.
Globalement, ça fonctionne mais j'ai toujours le dépassement de capacité pour ico et cur plus un problème de reconnaissance du bmp par paint shop pro qui le refuse. Mais bon, ces 3 formats ne sont plus guère utiles, notamment le bmp, assez goinfre en espace. Je vais donc me satisfaire de 6 options sur 9, ce qui n'est déjà pas si mal, et virer les autres.

Merci pour tout

J.
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
26 juil. 2010 à 10:52
Ok donc ce n'est pas un probleme avec les encodeurs mais simplement un probleme de chemin d'acces au dll. Elles sont dans le zip et doivent être placé dans le dossier du .exe.
Lorsque tu executes le programme en mode debug il faut taper la commande "chrdir app.path" pour que VB retrouve les dll sinon c'est l'insultebox assuré.
cs_jacques-antoine Messages postés 79 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 22 mai 2017
26 juil. 2010 à 08:48
Mon cher Ebartsoft (comme naguère une truffe de ma connaissance commençait une lettre par : Monsieur Warner Bros ......)

j'ai essayé la modif préconisée et, si dans certains cas, ça marche, dans d'autres il y a plantage. Je reviendrai dessus après avoir indiqué qu'en mode fonctionnement normal (F5 en mode VB), ben je n'ai strictement rien à l'écran et je n'ai pas trouvé de module de démarrage. Bon, il est tôt et je n'ai peut-être pas encore les yeux en face des trous. Oh p de c, je viens seulement de m'aviser qu'il s'agit d'un ensemble constituant une librairie et qu'il ne pouvait donc y avoir le moindre affichage! Je finis de taper et je retourne me coucher.

En mode démo, il y a plus que des problèmes, quel que soit le cas de Direct call only for debug purpose.

1 - avec 1 = 2, les seuls formats lisibles que je puisse obtenir sont png, ico et bmp avec, lors de la première passe et pas aux suivantes, le message ijl11.dll non trouvée : tous les autres formats génèrent des fichiers inutilisables,
2 - avec 1 = 1, les formats corrects obtenus sont bmp, pcx, tga, et gif; le format png génère l'erreur 53 (zlibVB.dll non trouvée), ico et cur génèrent l'erreur 6 (dépassement de capacité), tif et jpg sont inutilisables.

Bonne journée, avec la patate chaude...

J.
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
22 juil. 2010 à 18:10
Jacques> il y a des chances pour que ça ne marche pas dans certaines conditions. Dans ce cas change les lignes suivantes :

'Direct call only for debug purpose
131. If (1 = 2) Then

par

'Direct call only for debug purpose
131. If (1 = 1) Then
cs_jacques-antoine Messages postés 79 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 22 mai 2017
22 juil. 2010 à 11:41
ave,

je ne vais pas dire si ce logiciel est parfait ou pas : je n'en sais rien, vu que 1) en mode démo je suis planté illico sur l'instruction Call VBPicEncoder.Initialize(VB.Global), jusqu'à ce que je m'avise de passer par l'install.bat du répertoire DLL, et là 2) surprise : ça a l'air de fonctionner sauf qu'il n'y a aucune conversion, le résultat est un bmp, donc je me dis qu'il y a un loup quelque part, que quelque chose m'a échappé et, avant de plonger dans le code pour le désosser et trouver où ça merde, il y a peut-être quelque chose que je dois savoir, une chose à faire ou une connerie à éviter? Sinon, il m'intéresse bougrement, vu que ça fait des années que je me dis que je devrais en pondre l'équivalent, peut-être pas aussi complet, mais entre ce qu'on voudrait faire et ce qu'on fait réellement...
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
16 juil. 2010 à 16:17
Bien codée et complète. Que peut-on demander de plus (à part la lecture de fichiers .tif comme l'a dit us_30) ?
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
16 juil. 2010 à 11:35
Il faudrait créer les classes de "décodeur" et les lier à LoadPicture(). Dans le principe c'est pareil mais je n'ai pas encore le code pour tous les types de fichier cités plus haut.

A la base il ne devait y avoir que le PNG et puis dans le feu de l'action...
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
16 juil. 2010 à 10:49
Bonjour,

Juste une chose, sur cette source parfaite...
On peut enregistrer en TIF, mais on ne peut pas les charger ? C'est dommage pour ses TIF...

Amicalement,
Us.
Rejoignez-nous