当使用CxImage图像库加载超大图像时,会出现报错。
原因是在ximacgf.h 中定义了一个限制图像大小的宏
#define CXIMAGE_MAX_MEMORY 268435456
在xImage.cpp中的CxImage::Create函数中存在下面的语句,限制了加载的图像的大小。
void* CxImage::Create(uint32_t dwWidth, uint32_t dwHeight, uint32_t wBpp, uint32_t imagetype)
{
if ((((float)dwWidth*(float)dwHeight*(float)wBpp)/8.0f) > (float)CXIMAGE_MAX_MEMORY)
{
strcpy(info.szLastError,"CXIMAGE_MAX_MEMORY exceeded");
return NULL;
}
}
解决方案,将CXIMAGE_MAX_MEMORY 以及 上述语句注释掉再重新编辑即可。
标签:CXIMAGE,MEMORY,MAX,float,图像,CxImage,uint32,加载 From: https://www.cnblogs.com/cornmonster/p/17962785