Вопрос

Я получаю следующее исключение при вызове BitmapMetadata.GetQuery("/app13/irb / 8bimiptc / iptc") примерно в 1% файлов JPEG, на которых я это пробовал.Что может быть причиной этого и что я могу сделать, чтобы это исправить?(Я пробовал погуглить, но смог найти только один релевантный результат, задающий тот же вопрос, но без ответа.)

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.

Редактировать:

В exiv2 отчеты по инструментам:

Error: Invalid Photoshop IRB data size 6372
Это было полезно?

Решение

Я предполагаю, что данные Photoshop IRB длиннее, чем указано в заголовке.

По крайней мере, это то, что я могу вывести, просмотрев источник Exiv2 (строка 107):

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

Но мое понимание языка си не настолько хорошо!:)

Другие советы

Ошибка 0x88982F05 - это всего лишь обычная ошибка WIC, выходящая за пределы диапазона значений Таким образом, вы можете легко с ней справиться.Также это может быть не единственной вашей проблемой со строками запроса IPTC.Просто попробуйте {} поймать {} этот раздел вот так, чтобы выполнить изящное выпадение

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

Проверьте этот пост - исправлена моя проблема

http://getsatisfaction.com/livelabs/topics/deepzoomtools_dll_exception_from_hresult_0x88982f05

Основываясь на информации, предоставленной exiv2, размер информации Photoshop IRB не соответствует общему размеру метаданных.

Если вы хотите игнорировать сообщения, я бы уточнил тип исключения, которое вы перехватываете, - игнорируйте или сообщайте только об этом конкретном COM-исключении.

Существует пара инструментов / ресурсов:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top