IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[C#] Images PNG en tant que ressources


Sujet :

Windows Forms

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 115
    Points : 103
    Points
    103
    Par défaut [C#] Images PNG en tant que ressources
    Bonjour à tous,
    Debutant en C#, j'utilise SharpDevelop et souhaite utiliser des png en tant que ressources. J'ai donc créé une ressource ProjectName.Bitmap.resource qui apparaît dans l'interface de SharpDevelop et y ai importé les fichiers.
    Par la suite dans le constructeur de la classe principale (un WinForm) je mets ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    m_resources = new ResourceManager("ProjectName.Bitmap",Assembly.GetCallingAssembly());
    Une pictureBox Smiley est créée et je tente ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    m_Smiley.Image = new Bitmap((Image)m_resources.GetObject("smile"));
    Le debugger m'envoie dans les roses avec le message suivant :
    Object reference not set to an instance of an object

    So where is the problem ?
    Merci d'avance

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 183
    Points : 79
    Points
    79
    Par défaut
    m_Smilley est valide ?
    ... et m_Resources ???

  3. #3
    Membre régulier

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 115
    Points : 103
    Points
    103
    Par défaut
    Au niveau des déclarations on a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    private System.Windows.Forms.PictureBox m_Smiley;
    avec dans le initializeComponent()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.m_Smiley = new System.Windows.Forms.PictureBox();
    Quant au m_resources, j'aimerai savoir si le ResourceManager() a une valeur de retour en cas de pb.
    Merci

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Points : 621
    Points
    621
    Par défaut Re: [C#] Images PNG en tant que ressources
    Citation Envoyé par GoldenEye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    m_Smiley.Image = new Bitmap((Image)m_resources.GetObject("smile"));
    Normalement, tu peux te contenter de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    m_Smiley.Image = (Bitmap)m_resources.GetObject("smile");
    sinon ça revient à créer deux images.

    Il faut vérifier 2 choses :
    - m_resources existe bien à l'exécution de cette ligne (debugger)
    - la ressource en question porte bien le nom "smile" (éditeur de ressources)
    On ne peut pas faire boire un âne qui n'a pas soif.

  5. #5
    Membre régulier

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 115
    Points : 103
    Points
    103
    Par défaut
    J'ai a moitié résolu le problème. Pour chaque Form, SharpDevelop crée un fichier de ressources. J'y ai ajouté mes images et ai fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    m_resources = new ResourceManager(typeof(MainForm));
    Dans ce cas tout marche correctement.
    C'est lorsque j'utilise le constructeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ResourceManager(CString name, Assembly asmy)
    que ça plante (j'ai pris soin de créer la ressource avant). Curieux . Il faudrait essayer avec Visual Studio .NET pour voir si ce n'est pas un bug de SharpDevelop

    En tout cas, merci à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/03/2009, 10h03
  2. [Upload] Execution d'un .png en tant que .php
    Par daminetreg dans le forum Langage
    Réponses: 2
    Dernier message: 20/06/2008, 00h36
  3. manipuler les images .bmp(en tant que matrices)
    Par amoeva dans le forum C++Builder
    Réponses: 8
    Dernier message: 21/04/2007, 00h46
  4. Charger un fichier en tant que ressource
    Par delph1983 dans le forum Entrée/Sortie
    Réponses: 20
    Dernier message: 05/05/2006, 15h39
  5. image en tant que ressource ..
    Par ilimo dans le forum Windows
    Réponses: 4
    Dernier message: 03/06/2004, 16h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo