Comment faire parler une picturebox ?

Résolu
Vianneyp Messages postés 82 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2010 - 12 juin 2007 à 13:03
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 - 12 juin 2007 à 15:03
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

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
12 juin 2007 à 13:20
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
3
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
12 juin 2007 à 13:18
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
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
12 juin 2007 à 13:43
salut Julien,
Je viens de faire le test, et ta méthode est la bonne.
La mienne ne donne rien
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
12 juin 2007 à 13:53
a noter que C:\Toto.jpg sera un Bitmap et non un jpg ^^

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
12 juin 2007 à 13:55
Re,
Merci pour la correction [auteurdetail.aspx?ID=2359 Renfield].

@+: Ju£i?n
Pensez: Réponse acceptée
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
12 juin 2007 à 14:20
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.
 
0
Vianneyp Messages postés 82 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2010
12 juin 2007 à 14:25
Merci a tous pour vos précieuses réponses et bonne journée ;)
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
12 juin 2007 à 15:03
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.
0
Rejoignez-nous