Problem: Ressourcen verwenden



  • Guten Tag allerseits,

    Ich habe erst vor ein paar Wochen mit Visual C# begonnen, und bin jetzt daran ein Snake zu programmieren. Doch im Moment häng ich an einem viel blöderen Problem rum, ich schaffe es einfach nicht meine Bilder, welche ich in die Ressourcen-Datei geladen habe, zu verwenden. Also wenn ich sie über das Eigenschaftsfenster einfügen will, weis ich wie's geht, aber ich brauch die Datei um sie anschliessend in eine picture box zu malen. (Also ein Bild = ein Snake-Element). Wie kann ich das Bild aus der Ressource verwenden??? 😞

    Im Voraus schonmal Danke für die Hilfe!

    mfg PapaNoah



  • Properties.Resources.bildname

    Sollte dir doch ein Image zurückgeben.



  • Hmm das scheint irgendwie nicht zu funktionieren. Vielleicht sollte ich mein Problem ein wenig genauer beschreiben:

    Also ich habe ein grosse picture box und male darin meine Schlange. (Wie gesagt, ein Bild = ein Element)

    Das hier ist der Befehl zum malen:

    Grafikobjekt.DrawImage(Bild, Position) //(Klasse: Graphics)
    

    so und das Bild ist in einem Feld des Typs "image" gespeichert,
    das hab ich bis jetzt immer so gemacht:

    Imageobjekt = Image.FromFile("Bildname.png");
    

    Das hat auch super funktioniert, nur möcht ich dem imageobjekt jetzt das Bild aus den Ressourcen zuweisen...



  • Wenn du das Bild den Resourcen hinzugefügt hast dann kannst du wie geschrieben darauf zugreifen.



  • Unix-Tom schrieb:

    Wenn du das Bild den Resourcen hinzugefügt hast dann kannst du wie geschrieben darauf zugreifen.

    Tut mir leid aber ich verstehe nicht wie ich das umsetzen soll.

    Das wäre ja dann theoretisch irgendwie:

    Imageobjekt = Image.FromFile(Properties.Resources...) //funktioniert nicht
    

    oder

    Imageobjekt = Properties.Resources...//funktioniert ebenfalls nicht
    

    Sry wenn ich so viel Mühe bereite, aber im Internet finde ich meistens nur Anleitungen, wie man die Ressourcen-Datei erstelllt, und das hab ich ja...



  • Geht nicht ist keine Fehlerbeschreibung bzw. keine Fehlermeldung Deines Compilers.



  • Ist bei den Eigenschaften der Ressource dieses "Copy if newer" gesetzt?
    Ich hole mir die Bilder immer so (Vb Code)

    ' Aufruf mit dem Namen des Bildes im Ressourcen Ordner mit Endung
        Private Function GetPictureFromRessources(ByVal sPictureName As String) As System.Drawing.Image
            Dim oAssembly As System.Reflection.Assembly
            Dim oStream As System.IO.Stream
    
            Try
                oAssembly = clsSettings.m_oGetSettings.m_oMeType.Assembly
                oStream = oAssembly.GetManifestResourceStream(clsSettings.m_oGetSettings.m_oMeType, sPictureName)
                Return System.Drawing.Image.FromStream(oStream)
    
            Catch oExp As Exception
                Return Nothing
    
            End Try
        End Function
    

Log in to reply