Domanda

ottengo la seguente eccezione quando si chiama BitmapMetadata.GetQuery ( "/ app13 / IRB / 8bimiptc / IPTC") su circa l'1% del JPEG che ho provato questo su. Che cosa potrebbe causare questo e che cosa posso fare per risolvere il problema? (Ho provato Googling ma posso trovare solo uno dei risultati rilevanti che chiede la stessa domanda, ma con nessuna risposta.)

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.

Modifica:

I rapporti strumento exiv2:

Error: Invalid Photoshop IRB data size 6372
È stato utile?

Soluzione

La mia ipotesi è che i dati IRB Photoshop è più lungo del intestazione specifica.

Almeno questo è quello che posso dedurre dal sfiorando la fonte di Exiv2 (linea 107):

http: //dev.exiv2 .org / repository / ingresso / exiv2 / trunk / src / jpgimage.cpp? rev = 1146

Ma la mia comprensione di c non è buona! :)

Altri suggerimenti

Errore 0x88982F05 è solo normale errore valore-out-of-range da WIC Così può essere easely gestito da voi. Anche questo potrebbe non essere il vostro unico problema con IPTC stringhe di query. Basta provare {} catch {} questa sezione come questo per fallover graziosa

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

In base alle informazioni riportate dal exiv2, la dimensione delle informazioni IRB di Photoshop non è coerente con la dimensione complessiva dei metadati.

Se si desidera ignorare i messaggi sarei più specifico nel tipo di eccezione si cattura -. Solo ignorare o segnalare quel particolare Eccezione COM

Un paio di strumenti / risorse là fuori:

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top