我现在正在学习如何在 boost 中使用通用图像库,下面的代码说明了如何将一些原始数据写入 jpeg 文件:
int main(void)
{
unsigned char *src_pixels;
int src_row_bytes = 200;
src_pixels = new unsigned char [200*500];
for(int i=0; i<500; i++)
{
for(int j=0; j<200; j++)
src_pixels[i*200+j]= j;
}
char *dst_pixels;
dst_pixels = new char [200*500];
for(int i=0; i<500; i++)
{
for(int j=0; j<200; j++)
dst_pixels[i*200+j]= j;
}
gray8c_view_t my_view = interleaved_view(200,500,(const gray8_pixel_t*)src_pixels,src_row_bytes);
gray8s_view_t your_view = interleaved_view(200,500,( gray8s_pixel_t*)dst_pixels,src_row_bytes);
jpeg_write_view("C:/file_1_copy.jpg", my_view);
jpeg_write_view("C:/file_2_copy.jpg", your_view);
delete []src_pixels;
delete []dst_pixels;
return 0;
}
但是,似乎 jpeg_write_view("C:/file_2_copy.jpg", your_view);
无法编译,并给出以下错误信息:
Error 2 error C2338: jpeg_write_support<View>::is_supported
我不知道如何让它编译。任何建议将不胜感激。
`