一种特殊的 jpg 图片: MagickProfileImage() sRGB.icc
原图,在 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, 1, fd_icc); if(count == 1) { MagickProfileImage(mw, "ICC", pData_sRGB_ICC, fileSize_sRGB_ICC); } fclose(fd_icc); //关闭 free(pData_sRGB_ICC); //释放 }
MagickProfileImage() 后, ImageMagick 生成的 jpg 图片: