Question

Je reçois l'exception suivante lors de l'appel BitmapMetadata.GetQuery ( "/ app13 / irb / 8bimiptc / IPTC") sur environ 1% des fichiers JPEG que j'ai essayé cela sur. Ce qui pourrait être la cause et que puis-je faire pour y remédier? (Je l'ai essayé googler, mais je ne peux trouver un résultat pertinent poser la même question, mais sans réponse.)

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:

Les rapports de l'outil de exiv2:

Error: Invalid Photoshop IRB data size 6372
Était-ce utile?

La solution

Je suppose que les données de la CISR Photoshop est plus long que l'en-tête indique.

Au moins c'est ce que je peux déduire par écrémage sur la source de Exiv2 (ligne 107):

http: //dev.exiv2 .org / dépôts / entrée / exiv2 / trunk / src / jpgimage.cpp? rev = 1146

Mais ma compréhension de c est pas bon! :)

Autres conseils

Erreur 0x88982F05 est seulement régulière valeur hors de portée par erreur WIC Ainsi, il peut être manipulé facilment par vous. Aussi cela pourrait ne pas être votre seul problème avec les chaînes de requête IPTC. Il suffit de try {} catch {} cette section comme celui-ci à fallover gracieux

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

D'après les informations communiquées par exiv2, la taille de l'information CISR Photoshop est incompatible avec la taille globale des métadonnées.

Si vous souhaitez ignorer les messages que je serais plus spécifique au type d'exception que vous attrapez -. Seulement ignorer ou signaler cette exception particulière COM

Quelques outils / ressources là-bas:

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top