DDS-Bild

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von Hilfsbedürftiger.

    Ich wollte eine DDS-Datei in einer PictureBox darstellen. Nach kurzer Recherche bin ich auf DevIL.NET gestoßen. Das ist mein erstes Mal mit irgendwelchen DLLs, also weiß ich da noch nicht wirklich viel.

    Ich habe jedenfalls erstmal die Version 1.3 heruntergeladen und die DevIL.NET-DLL (Da sind noch mehr in dem Download-Archiv. Aber wenn ich die zusätzlich verwenden möchte, funktioniert das nicht...) in irgendeinen Ort im Projektverzeichnis gepackt und dann einen Verweis darauf erstellt. Anschließend habe ich mich an dem Beispiel auf oben verlinkter Seite versucht, und wenigstens: Es gab keine Fehlermeldungen!

    Mein Code lautet also:

    VB.NET-Quellcode

    1. Dim bmp as System.Drawing.Bitmap
    2. bmp = DevIL.DevIL.LoadBitmap(filename)
    3. pictureBox1.Image = bmp


    Aber wenn ich das nun debugge, erhalte ich den Fehler BadImageFormatException... Kennt sich jemand mit der DLL aus oder weiß, was zu tun ist?
    BadImageFormatException
    Die Ausnahme, die bei Ungültigkeit des Abbilds einer DLL-Datei oder einer ausführbaren Programmdatei ausgelöst wird.

    Also irgendwas stimmt mit der Bibliothek nicht. Hat also nix mit dem Image (Bild) zu tun.

    lad dir doch einfach mal das Testprojekt von der Entwicklerlseite:_
    Download C# and VB.NET Samples: mastropaolo.com/files/DevILDotNet_Samples.zip

    &Nimm mal die Version 1.3
    /nicht getestet
    Ich habe doch Version 1.3.

    Bei dem Beispielprojekt gibt es auch den Fehler. ist keine zulässige Win32-Anwendung., steht noch dabei.

    Ich habe nochmal weiter gesucht und habe irgendwo ein ähnliches Problem entdeckt. Dort hieß es, man müsse sein Projekt für 86x kompilieren und wenn man Win7 64bit hat (wie ich), wird automatisch dafür kompiliert. Kann und wenn ja wie ich das irgendwie umstellen?
    Ja, und zwar gehst du in die Projekteinstellungen (Bei VS2012 ist es unter Projekt > Projektname-Eigenschaften), dort klickst du dann auf "Kompilieren" und dann sollte oben bei "Kompilierungsoptionen" eine ComboBox sein, in der entweder "AnyCPU", "x64" oder "x86" steht. In dieser kannst du dann die Zielplattform auswählen (x64 = 64bit; x86 = 32bit).
    Hoffe das hilft ;).
    Hmmm... Die Einstellung gibt es bei mir nicht :( Kann das an der Express-Version liegen?
    edit: Ok. Google. Jetzt bekomme ich aber (im Beispielprojekt) immer noch eine Fehlermeldung. Und zwar wenn ich eine Datei laden möchte.

    FileLoadException.
    Die Datei oder Assembly "DevIL.NET, Version=1.0.2019.10125, Culture=neutral, PublicKeyToken=null" oder eine Abhängigkeit davon wurde nicht gefunden. Diese Anwendung konnte nicht gestartet werden, da die Side-by-Side-Konfiguration ungültig ist. Weitere Informationen finden Sie im Anwendungsereignisprotokoll. Weitere Details können auch mit dem Befehlszeilentool sxstrace.exe angezeigt werden. (Ausnahme von HRESULT: 0x800736B1)
    jap, aber das geht dort manuell:
    onteorasoftware.net/post/Chang…u-in-VB-express-2008.aspx
    (dürfte auch noch für die neueren oder älteren Versionen gelten)...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Das hatte ich auch gefunden (und oben editiert. Wohl zu langsam xD)

    Der edit von oben schrieb:

    [...] Jetzt bekomme ich aber (im Beispielprojekt) immer noch eine Fehlermeldung. Und zwar wenn ich eine Datei laden möchte.

    FileLoadException.
    Die Datei oder Assembly "DevIL.NET, Version=1.0.2019.10125, Culture=neutral, PublicKeyToken=null" oder eine Abhängigkeit davon wurde nicht gefunden. Diese Anwendung konnte nicht gestartet werden, da die Side-by-Side-Konfiguration ungültig ist. Weitere Informationen finden Sie im Anwendungsereignisprotokoll. Weitere Details können auch mit dem Befehlszeilentool sxstrace.exe angezeigt werden. (Ausnahme von HRESULT: 0x800736B1)
    Das tut sie auch...
    Gibt es denn sonst keine Alternative zu DevIL?


    Edit by Manschula: Es gibt eine Bearbeiten-Funktion / keine Pushposts (nach wenigen Minuten) --> Beiträge zusammengeführt
    edit by Hilfsbedürftiger: Das ist mir klar. Nur sieht einen edit nach 20 Minuten keiner mehr, der vorher im Thread war :(

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Hilfsbedürftiger“ ()