Afficher une image .bmp [Résolu]

Signaler
-
Messages postés
475
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
3 novembre 2008
-
Bonjour,



Pour debuter mon programme, je souhaite lancer une image qui soit
representative du programme. Rien de tres complique, mon probleme est
tres simple, je n'arrive pas a charger l'image. J'ai pourtant fait "Add
Existing Item..." puis ai mis mon image.bmp mais lors de l'execution de
cette ligne :



Bitmap startup = new Bitmap(this.GetType(), "frmSplash.bmp");



La compilation se passe sans probleme mais lors de l'execution, j'obtiens ce message d'erreur :



Resource 'frm.Splash.bmp' could not be found in class 'Project.frmSplash'



Je pense que j'ai du oublier quelque chose et j'ai conscience que ce
n'est pas complique mais je ne sais pas comment faire, pourriew vous
m'aider ?



Merci d'avance.

9 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
il faut mettre le nom de l'assembly et le répertoire devant.

ex :
ton assembly s'appelle : WindowsApplication1 et le répertoire est toto\titi.
ton image s'appellera : WindowsApplication1.toto.titi.frmSplash.bmp


Sébastien FERRAND (
blog)
[Microsoft MVP Visual C#]

Petite precision, je ne veux pas utiliser de pictureBox car je ne veux pas de fenetre, juste l'image.

Merci beaucoup pour cette reponse mais elle me suggere tout de meme une
interrogation sur un code que j'ai pu observe et qui contenait la ligne
suivante :



Bitmap bmp = new Bitmap(this.GetType(), "crane.bmp");



En apparence elle etait suffisante pour appeler l'image. Est-ce une mauvaise observation de ma part ou une autre methode ?
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
33
Seb > 6h23 du mat..

Nico > Je pense que c'est VS qui donne des noms à rallonge aux ressources, faudrait voir si ton exemple marche avec une ressource compilée en ligne de commande..
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
Petite précision : le nom de la ressource ne dépend pas du nom de l'assembly mais plutôt de l'espace de nom par défaut. :-)

Si l'assembly s'appelle WindowsApplication1, l'espace de nom par défaut est EspaceDeNomsParDefaut et le répertoire est toto\titi
La ressource s'appellera EspaceDeNomsParDefaut.toto.titi.frmSplash.bmp

/*
coq
MVP Visual C#
*/
Messages postés
475
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
3 novembre 2008

pkoi diable s'ennuyer avec les ressources?
nah, je niaise, c bon à savoir
toutefois, si t'as visual studio, voici un petit truc que j'utilise. Tu crée un picturebox ou une imagelist ou peu importe qui puisse contenir des images. tu charges l'image la-dans avec visual studio. tu mets l'attribut Visible de ton picturebox à false (ou encore tu ne l'ajoutes pas à ta form) et dans ton programme, tu utilise la bitmap comme tu veux avec, par exemple, myPicturebox.Image
etk, c est une petite astuce personnelle...je ne sais pas si c'est une bonne façon mais ça marche très bien en général.

@++
Messages postés
475
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
3 novembre 2008

ma foi mais quelle concidence !!!!
l'instruction
//charge l'image "crane.bmp" comme image de fond a partir des ressources
Bitmap bmp =
new Bitmap(
this.GetType(),
"crane.bmp");

vient d'un de mes vieux programme que j'ai fais quand je débutais avec .net
ah, quand je relis le code source maintenant, j'ai un peu honte tellement que c'est mal fait :D

lol, c drole
etk, bonne chance



@++
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
lol... j'avais pas pensé au this.GetType()...

oui... 6h23... je me lève à 5h45 tous les matins... et je déjeune en lisant mes mails ;)


Sébastien FERRAND (
blog)
[Microsoft MVP Visual C#]
Messages postés
475
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
3 novembre 2008

simple curiosité, tu te couches à quelle heure?
parce que moi, j'ai beaucoup de problèmes à me reveiller tôt

@++