Comment faire parler une picturebox ?

Résolu
Signaler
Messages postés
82
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
6 janvier 2010
-
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
-
Bonjour,<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /??><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_i1025" style="WIDTH: 11.25pt; HEIGHT: 11.25pt" alt="" type="#_x0000_t75"><v:imagedata o:href="http://www.vbfrance.com/imgs2/smile_big.gif" src="file:///C:\DOCUME~1\leblanc\LOCALS~1\Temp\msohtml1\01\clip_image001.gif"></v:imagedata></v:shape>
J'ai dans un de mes projets,une image dans une picturebox.
Le probléme,c'est que j'ai modifier la propriété picture de cette picturebox depuis le volet propriétées de vb6 en entrant le chemain de l'image (du genre C:/user/...) et donc,lors de l'execution du programme sur un ordinateur autre que le mien l'appli bloque a cause de cette image introuvable.
Je souhaiterai donc inclure cette image dans le dossier de l'appli et la charger dans la picturebox lors du chargement de la fentre principale (picture.picture = loadpicture(App.path + ...)).

Le probléme c'est que j'ai égaré la dite image <v:shape id="_x0000_i1026" style="WIDTH: 11.25pt; HEIGHT: 11.25pt" alt="" type="#_x0000_t75"><v:imagedata o:href="http://www.vbfrance.com/imgs2/smile_angry.gif" src="file:///C:\DOCUME~1\leblanc\LOCALS~1\Temp\msohtml1\01\clip_image002.gif"></v:imagedata></v:shape> et je n'ai aucun moyen de la retrouver sur le disque car elle portée un nom trés peu explicite (du style 8gfdgd51.bmp ou jpg).
Evidament la case picture du volet se contente d'indique (Bitemap) et lorsque l'on clique sur le boutton parcourir (...) il se replace dans le dossier de vb6.
Qui plus est lors que j'entre la commande ci dessuous dans la fenetre execution :
Debug.print Form.Picture.picture
Il me retourne une suite de chiffres !

Alors voila,y'a t-il un quelconque moyen de savoir sur quoi "pointe" cette picturebox ?
Pour que l'image soit affichée,l'emplacement est forcément mémorisé quelque part non ?
je vous serai trés reconnaissant de m'epargner l'ecpluchage des quelques milliers d'images que compte mes dossiers.<v:shape id="_x0000_i1027" style="WIDTH: 11.25pt; HEIGHT: 11.25pt" alt="" type="#_x0000_t75"><v:imagedata o:href="http://www.vbfrance.com/imgs2/smile.gif" src="file:///C:\DOCUME~1\leblanc\LOCALS~1\Temp\msohtml1\01\clip_image003.gif"></v:imagedata></v:shape>

8 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Tout comme il existe LoadPicture comme tu l'a fait remarque, il existe aussi la méthode SavePicture.

Donc ajoute un bouton dans ton projet et fais ceci.

Private Sub Command1_Click()
'L'image de la picturebox sera sauvée en C:\Toto.jpg
Call SavePicture(Picture1.Picture, "C:\Toto.jpg")
End Sub , ----
[code.aspx?ID=41455 By Renfield]

NOTE: Si ton contrôle s'appelle Picture je te conseille de le renommer car PICTURE est déjà un mot clé réservé et il se peut que VB6 parfois se comporte mal.

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Bonjour,
je n' en suis pas sur mais essaies quand meme d' ouvrir le formulaire
ou se trouve la picturebox avec le bloc note.Peut être que
le chemin et le nom y figurent
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
salut Julien,
Je viens de faire le test, et ta méthode est la bonne.
La mienne ne donne rien
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
a noter que C:\Toto.jpg sera un Bitmap et non un jpg ^^

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,
Merci pour la correction [auteurdetail.aspx?ID=2359 Renfield].

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
La propriété Picture d'une PictureBox n'est jamais rien d'autre qu'une adresse en mémoire. Ce n'est pas un Handle de fichier.
 
Messages postés
82
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
6 janvier 2010

Merci a tous pour vos précieuses réponses et bonne journée ;)
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
en tout cas j' ai bien mon image Toto
et elle s' ouvre bien avec Paint, bien que ses propriétés
sont Toto image jpeg.J' ai tenté de l' ouvre en tant que jpeg,jpg,
rien à faire format non valide.