Пример ниже не содержит какой-либо обработки ошибок в целях компактности демонстрации
#include "libraw/libraw.h"
int process_image(char *file)
{
// Cоздадим обработчик изображений
LibRaw iProcessor;
// Открыть файл и считать метаданные
iProcessor.open_file(file);
// Метаданные доступны в полях данных класса
printf("Image size: %d x %d\n",iProcessor.imgdata.sizes.width,iProcessor.imgdata.sizes.height);
// Распакуем изображение
iProcessor.unpack();
// И напечатаем его дамп, данные доступны в полях данных класса
for(i = 0;i lt; iProcessor.imgdata.sizes.iwidth * iProcessor.imgdata.sizes.iheight; i++)
printf("i=%d R=%d G=%d B=%d G2=%d\n",
i,
iProcessor.imgdata.image[i][0],
iProcessor.imgdata.image[i][1],
iProcessor.imgdata.image[i][2],
iProcessor.imgdata.image[i][3]
);
// Освободим процессор для работы со следующим изображением
iProcessor.recycle();
}
[вернуться к оглавлению]