Allgemeiner Fehler bei Einlesen von jpg-Grafik

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von drschef.

    Allgemeiner Fehler bei Einlesen von jpg-Grafik

    Ich bekomme unter VB 2010 aber auch bereits ab VB 6 beim Einlesen bestimmter jpg-Grafiken in eine Bitmap den Fehler

    "Allgemeiner Fehler ín GDI+. (5)".

    Der auslösende Befehl lautet:

    Dim B As Bitmap = New Bitmap(bilddatei)

    Der Fehler tritt nur auf, wenn Ausgaben des Programmes Picture Publisher eingelesen werden sollen. Er tritt aber nicht auf, wenn ich die gleiche Bilddatei in Corel Photopaint, Irvan View oder im Internet-Explorer öffne. Damit kann wohl ein richtiger Fehler in den Bilddateien ausgeschlossen werden.

    Die ausführliche Fehler-Kommentierung und ein Problembild hänge ich an.

    Im Forum ist der Fehlerkommentar zwar schon oft aufgetaucht, aber wohl stets in Verbindung mit Ausgabevorgängen. Kann mir da jemand einen Tip geben?
    Bilder
    • Problembild.jpg

      665,98 kB, 2.048×1.536, 130 mal angesehen
    Dateien
    Hi,

    das Problem das GDI mit dieser Datei hat, liegt offensichtlich am nicht standardmässig geschriebenen Exif Header.
    Dieser enthält Daten zum Bild. In deinem Fall Daten einer Camera womit das Bild aufgenommen wurde.
    Aber scheinbar ist das Format des EXIF Headers nicht richtig interpretierbar für GDI.

    Ich denke, es gibt 2 sinnvolle Lösungen für das Problem.
    A- Öffne das Bild mit Gimp, speichere es neu ab und versuch es dann nochmal.
    B- Lese das Bild in einen Stream ein, übertrage es in einen zweiten Stream und entferne dabei den kompletten EXIF Header und dessen Daten.

    (EXIF Header Beginn sollte sein: FF E1 08 E7 45 78 69 66, Start JFIF Header Data: FF E0 00 10 4A 46 49 46 )

    Zweiteres habe ich noch nie versucht, und ich weiss auch nicht genau, was man dabei beachten muss.

    Gruss Mono
    Das ist meine Signatur und sie wird wunderbar sein!
    Hallo mono,

    danke für Deine schnelle Reaktion und die beiden Ansätze, die auf Abnormalitäten im Datei-Inhalt oder Nichteinhaltung von Standards hinaus zu laufen scheinen. Mich wundern aber zwei Dinge:

    1. Warum scheinen alle anderen Programme das Problem so perfekt zu beherrschen, wenn da etwas im Argen liegt und Sonderbehandlungen erfordert.

    2. Warum liefert das übliche VB-Kommando von Microsoft seit x Sprachversionen einen soooo anonymen Fehlercode und leistet nicht einfach das, was es soll.

    Das sind natürlich schon wieder zwei neue Fragen.
    Hallo mono,

    ich habe mich mit den exif-Daten befasst. Sie sind fehlerhaft und das Auslesen stößt bereits auf Schwierigkeiten.Deine Anregungen haben mich in die richtige Richtung geführt.

    Ein offenes und gutes Programm zum Auslesen findet man übrigens hier:
    http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=6526&lngWId=10

    Ich füge mal einen Screenshot bei, der den Fehler innerhalb der Eigenschaft "Palette" ausweist. Das erzeugende Programm Picture Publisher (es wurde übrigens schon vor Jahren aus dem Verkehr gezogen, erlaubt aber nette Bild-Verfremdungen) liefert aber ein fehlerhaftes Ergebnis. Damit bleibt immer noch die Frage, warum der MS-Internet-Explorer und andere Grafik-Programme diese Daten einwandfrei abbilden können. Sie können doch nicht auf diesen Fehler vorbereitet sein. Offensichtlich beschränken sie sich nur auf den Bildteil der Datei. Aber wie?

    Andererseits ist mein Ehrgeiz, eine falsche Bilddatei doch noch richtig anzuzeigen, jetzt mächtig geschwunden.

    Ich danke nochmals für die Hilfe.
    Bilder
    • Fehler.jpg

      182,72 kB, 1.024×538, 146 mal angesehen