CxImage 加载图像大小限制

发布时间 2024-01-13 19:09:27作者: 爱吃菜心

当使用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 以及 上述语句注释掉再重新编辑即可。