Attribuer une image à une picture box

Résolu
cs_AgLS Messages postés 27 Date d'inscription lundi 7 février 2005 Statut Membre Dernière intervention 22 avril 2008 - 3 déc. 2006 à 15:08
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 4 déc. 2006 à 02:35
Bonjour,
J'utilise Microsoft Visual Studio 2005. J'ai crée une interface graphique avec les Windows Forms, dans cette interface graphique il y a un élément de windows form appellé PictureBox.
J'aimerais par une ligne de code changer l'image de cette picturebox.
Voici le code que j'ai déjà écris: où ZoneImageD est le 'name' de ma picturebox
this
->ZoneImageD->Image =
... ;

Mais je ne sais pas ce que je dois mettre à la place des ...
Voilà, je vous ai tout dit. Je vous remercie d'avances pour vos réponses.
Je suis sur que c'est tout con mais comme je débute ...
<hr /> AgLS

A voir également:

9 réponses

yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 24
3 déc. 2006 à 21:38
As tu essayé :

cli::safe_cast<System::Drawing::Image^ >(Image::FromFile(L"fichier.bmp"));
3
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 24
3 déc. 2006 à 15:46
Si tu utilises gdi+, il faut fournir un objet Image :
Image monBitmap(L"monFichier.bmp");
this->ZoneImageD->Image = monBitmap;

Mais j'utilise encore VS-2003, donc c'est peut etre different !
0
cs_AgLS Messages postés 27 Date d'inscription lundi 7 février 2005 Statut Membre Dernière intervention 22 avril 2008
3 déc. 2006 à 15:57
J'ai testé mais ca marche pas, en revanche j'ai trouvé cette ligne de code qui a été ajoutée automatiquement par Visual Studio lorsque j'ai définis l'image dans le volet propriété:
this

->ZoneImageD->Image = (cli::
safe_cast<System::Drawing::Image^ >(resources->GetObject(L
"ZoneImageD.Image")));
mais là, il met l'image dans le fichier ressource puis il va la charcher dans le fichier ressource.
Je ne sais pas comment modifier cette ligne pour pouvoir insérer un fichier qui se situe sur le disque(ex: JA.bmp).
Par la même occasion, je ne comprend pas ce que vien faire le L ici. Et comment faire pour mettre une variable de type String à la place du nom de l'image.
Si quelqu'un trouve la solution, dite le moi.
Merci d'avance 
<hr /> AgLS
0
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 24
3 déc. 2006 à 16:03
Le L"" veut dire UNICODE (gdi+)

essayes :
System::Drawing::Image^
monBitmap(L"monFichier.bmp");
0

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

Posez votre question
cs_AgLS Messages postés 27 Date d'inscription lundi 7 février 2005 Statut Membre Dernière intervention 22 avril 2008
3 déc. 2006 à 16:18
Ca marche toujour pas, si je met monbitmap il me dit que ca va pas alors j'ai remplacé par bitmap et il reste qu'une seule erreur qui est:
error C2275: 'System::Drawing::Image' : utilisation non conforme de ce type comme expression

J'ai mis comme ligne de code la suivante:
this

->ZoneImageD->Image = System::Drawing::Image^ Bitmap(L
"c:\\JA.bmp");
Peut être qu'a force de persévérer on y arrivera. lol

<hr /> AgLS
0
cs_AgLS Messages postés 27 Date d'inscription lundi 7 février 2005 Statut Membre Dernière intervention 22 avril 2008
3 déc. 2006 à 17:25
S'il vous plait y aurais pas quelqu'un qui aurait une solution?
dsl de mon impatience c'est mon dernier problème avant de pouvoir faire la relase de mon premier programme en C++.
Je rappelle que mon but est de charger une image du disque dans un PictureBox grace à une variable de type STRING contenant le chamin d'accès au fichier.
J'utilise Visual Studio 2005 et le composant PictureBox de Windows Forms

<hr /> AgLS
0
cs_AgLS Messages postés 27 Date d'inscription lundi 7 février 2005 Statut Membre Dernière intervention 22 avril 2008
3 déc. 2006 à 22:58
Enfin ça marche ,à une exception près:
Tout d'abord un grand merci au personnes qui m'ont aidées, tout particulièrement à yann_lo_san ;-)
L'exception dont je vous parlait, c'est que dans mon code c'est une variable de type char qui doit venir à la place de "fichier.bmp".
Je compile sans problème, mais à l'exécution il me dit: Le chemin d'accès n'a pas une forme conforme, il faut savoir que j'ai du enlever le L pour pouvoir mettre le nom de ma variable.
Quelqu'un as une idée?
<hr /> AgLS
0
cs_AgLS Messages postés 27 Date d'inscription lundi 7 février 2005 Statut Membre Dernière intervention 22 avril 2008
3 déc. 2006 à 23:05
En fait j'ai trouvé, ca venait des antislashs il faut qu'ils soit doublés.
Donc ma question c'est: quelqu'un connait une fonction qui permet d'ajouter des \ à une chaine là ou on en as besoin ( \\  "  etc).

<hr /> AgLS
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
4 déc. 2006 à 02:35
Il n'y a aucun '\\' à ajouter dans une chaine, c'est seulement dans uns constante qu'il faut les doubler car le '\' est un caractère d'échappement (interprétation particulière du caractère suivant).
Comme d'hab on met la charrue avant les boeufs, l'interprété profond avant les bases du langage C.

ciao...
BruNews, MVP VC++
0