Ошибка загрузки cr2 с помощью edsdk

Я пытаюсь прочитать изображения cr2, используя canon sdk (canon_edsdk-2.12).

Кажется, я правильно загружаю dll, но когда я пытаюсь получить реальное изображение, я получаю сообщение об ошибке.

Я попытался запустить пример программы, чтобы увидеть, чем она отличается от моей, но происходит то же самое.

Пытаясь найти проблему в Интернете, я нашел фактический исходный код примера: http://read.pudn.com/downloads107/sourcecode/graph/texture_mapping/440409/RAWDevelop/RAWDevelopDlg.cpp__.htm

Моя ошибка, по указанному источнику, заключается в void CRAWDevelopDlg::LoadImage() функция —

err = EdsGetImage( m_ImageRef , source , kEdsTargetImageType_RGB , rect , size , DstStreamRef );
if( err == EDS_ERR_OK ) {...}
else
{
AfxMessageBox("The error occurred with the EdsGetImage function.");
}

Выше (в строке 481 на странице) тот же метод, который я использую, и я получаю ту же ошибку — с кодом ошибки 35 (вместо 0).

Кажется, ошибка

#define EDS_ERR_FILE_OPEN_ERROR                          0x00000023L

Итак … может быть что-то не так с файлами? Я экспериментировал с файлами, снятыми разными версиями, в том числе новейшими камерами … Файлы открываются в Photoshop … И демоверсия показывает информацию заголовка, так как она выдает ошибку. Так что он может что-то увидеть.

Я что-то пропустил?

Все необходимые DLL используются в системном пути …

Спасибо.

1

Решение

Старый вопрос, тем не менее, может помочь кому-то:

Чтобы открыть необработанный файл с помощью SDK, вам нужно вызвать эти функции (конечно, вы должны проверить ошибки):

EdsStreamRef stream = NULL;
EdsImageRef imgRef = NULL;
EdsCreateFileStream("filename", kEdsFile_OpenExisting, kEdsAccess_Read, &stream);
EdsCreateImageRef(stream, &imgRef);
EdsRelease(stream);

Затем вы можете установить и получить свойства с помощью imgRef.

Чтобы сохранить изображение как изображение jpg / tiff / RGB, используйте функцию EdsSaveImage.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]