原图,在 ps, 浏览器中显示这样:
在 ps 中另存为 web... 【转换成 sRGB】选项没有勾选:
在 ps 中另存为 web... 勾选【转换成 sRGB】选项:
用 ImageMaigck 显示成这样:
使用 API: MagickProfileImage() + sRGB.icc
char szIccFilePath[MAX_PATH];
strcpy(szIccFilePath, "sRGB.icc"); // c:\\imagemagick\\sRGB.icc
FILE *fd_icc = fopen(szIccFilePath, "rb");
if(fd_icc)
{
long fileSize_sRGB_ICC = getFileSize(szIccFilePath); BYTE *pData_sRGB_ICC = (BYTE *)malloc(sizeof(BYTE) * fileSize_sRGB_ICC); int count = fread(pData_sRGB_ICC, fileSize_sRGB_ICC, , fd_icc);
if(count == )
{
MagickProfileImage(mw, "ICC", pData_sRGB_ICC, fileSize_sRGB_ICC);
} fclose(fd_icc); //关闭 free(pData_sRGB_ICC); //释放
}
MagickProfileImage() 后, ImageMagick 生成的 jpg 图片: