Warum wird das Bild nicht geladen?

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von DerTuner.

    Warum wird das Bild nicht geladen?

    Hallo Leute!
    Bei mir lädt ein Bild nicht,
    ich versuche dieses bild aus einem "Dateisystem".

    VB.NET-Quellcode

    1. ​button_data_plus.BackgroundImage = Image.FromFile(".\homechat_sys\homechat_ico\data_plus.jpg")


    ich habe auch auf Google geschaut... nichts gefunden....
    Es gibt wohl bemerkt auch keine Fehlermeldung
    Da eine äquivalente Codezeile bei mir läuft, schau doch erstmal, ob das Bild wirklich nicht geladen wurde. Einfacher Test:

    VB.NET-Quellcode

    1. Dim ImageWidth = button_data_plus.BackgroundImage.Width
    2. MessageBox.Show(ImageWidth.ToString())

    Wenn der Compiler ne Exception auslöst, wurde das Bild nicht geladen. Wenn er die MessageBox anzeigt, schau mal, ob das Bild einfach nur riesig oder winzig oder transparent ist und deshalb nix sichtbar ist.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Heyho,

    Hast du evtl. wieder irgendwo einen tollen try-catch block weswegen keine Fehlermeldung kommt?
    Denn bei mir funktioniert der Code ohne Probleme. Existiert die Datei auch ?

    für den Pfad in dem deine Anwendung ausgeführt wird kannst du auch:
    Application.StartupPath
    nutzten.
    Und dann mit Path.Combine ordentlich kombinieren.

    //EDIT//Da war VaporiZed während ich schrieb schon schneller
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    Nimm erstmal ein kleines Bild her, so 30x30 Pixel, z.B. einfach nur n Bild eines roten Rechtecks und schau, ob es damit geht.

    DerTuner schrieb:

    Ich weis das dass bild 1000x1000px Groß ist...
    Ist ja schön, aber es geht darum, ob das auch beim Compiler ankommt. Die MessageBox ist nicht dazu da, damit Du weißt, wie groß das Bild ist, sondern u.a. um zu prüfen, ob das Bild überhaupt angekommen ist.

    DerTuner schrieb:

    Hab aber auch schon den Imagelayout auf Zoom und auch Center gestellt gehabt
    Zeig mal bitte den Code dafür. Ich glaube irgendwie, dass Du da beim Kombinieren der beiden Optionen was drin hast, was da nicht reingehört.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Liegt bestimmt am Pfad. Gib den mal komplett an und nicht relativ. Also z.b. C:/Bilder/deinBild.jpg

    Außerdem geht es @VaporiZed nicht darum die Bildgröße heraus zu bekommen. Er testet damit ob da überhaupt ein Bild geladen wird.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    VaporiZed schrieb:

    Hab aber auch schon den Imagelayout auf Zoom und auch Center gestellt gehabt

    DerTuner schrieb:

    Hier der code... ​button_data_plus.BackgroundImageLayout = ImageLayout.Stretch
    Na, was denn nun?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Ich meinte damit, dass Du zuerst Zoom & Center sagst, aber dann Code mit Stretch lieferst. Na wurscht.
    Probier mal das Miniprojekt im Anhang. Sollte das bei Dir klappen, Kopiere Dein Bild in den Debugordner und probiere es erneut. Schritt für Schritt ändern, bis der Fehler klar ist und dann bitte bescheid geben, woran es gelegen hat.
    Dateien
    • WindowsApp1.zip

      (66,93 kB, 45 mal heruntergeladen, zuletzt: )
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Das Projekt geht bei mir nicht ...
    ich nutze 4.5.2 und das ist 4.7.1


    Es klappt ^^
    Ich hab noch eine Frage,
    kann ich auch auf ein Archhiv zugreifen?
    also ohne es zu entpacken


    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „DerTuner“ ()

    DerTuner schrieb:

    kann ich auch auf ein Archhiv zugreifen?
    also ohne es zu entpacken
    Nur, wenn es sich um eine einzige unabhängige Datei handelt.
    Mehrere Verbund-Dateien müssen entpackt werden.
    Was ist button_data_plus für ein Control?
    Ich hab das mal mit nem Button probiert, da ist beim Ändern dieser Property nix passiert (W10-64, VS2017).
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!