Frage

Ich erhalte die folgende Ausnahme, wenn BitmapMetadata.GetQuery ( "/ APP13 / rb / 8bimiptc / IPTC") auf etwa 1% des JPEGs Aufruf ich dies auf versucht haben. Was könnte die Ursache sein und was kann ich es beheben tun? (Ich habe versucht, googeln, aber ich kann nur ein relevantes Ergebnis zu fragen die gleiche Frage finden, aber ohne Antwort.)

System.OverflowException:
The image data generated an overflow during processing. ---> 
System.Runtime.InteropServices.COMException (0x88982F05): 
Exception from HRESULT: 0x88982F05
--- End of inner exception stack trace ---
at System.Windows.Media.Imaging.BitmapMetadata.GetQuery(String query)
at MyProject.ImageRecord..ctor(String file)
in C:\MyProject\ImageRecord.cs:line 93
The image data generated an overflow during processing.

Edit:

Die exiv2 Werkzeug Berichte:

Error: Invalid Photoshop IRB data size 6372
War es hilfreich?

Lösung

Meine Vermutung ist, dass die Photoshop IRB Daten länger als der Header gibt.

Mindestens das ist, was ich durch Abschöpfen über die Quelle der Exiv2 (Linie 107) abziehen kann:

http: //dev.exiv2 .org / Repositories / entry / exiv2 / trunk / src / jpgimage.cpp? rev = 1146

Aber mein Verständnis von c ist nicht so gut! :)

Andere Tipps

Fehler 0x88982F05 ist nur Vollwert-out-of-Range-Fehler von WIC So kann es easely von Ihnen behandelt werden. Auch könnte dies nicht das einzige Problem mit IPTC-Query-Strings sein. Nur try {} catch {} dieser Abschnitt wie diese anmutige fallover

if (bitmapMetadata.GetQuery(MY_QUERY) != null &&) {
try { 
... }
catch {}

Auf der Grundlage der Informationen, die von exiv2 berichten, ist die Größe der Photoshop IRB Informationen nicht mit der Gesamtgröße der Metadaten.

Wenn Sie die Meldungen ignorieren wollen würde ich in der die Art der Ausnahme konkretisieren Sie fangen -. Nur ignorieren oder dass bestimmte COM-Ausnahmebericht

Ein paar Werkzeuge / Ressourcen da draußen:

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top