我现在一直在玩ImageResizer大约一个星期左右,我想知道是否可以输出与源相同的ICC配置文件嵌入(并且在同一颜色空间中)的已调整大小的图像图像,例如Adobe 1998色彩空间?
我打算使用ImageResizer作为我公司工作流程的一部分,用于在我们的成像部门查看它们的一致性之前缩略我们的源图像,因此相同的颜色配置文件是必不可少的。生成速度并不重要,因为它们一旦生成就会被缓存。
有人可以告诉我,如果ImageResizer能够做到这一点,那么我需要重载哪些管道部分来实现这个目标?
感谢。
答案 0 :(得分:0)
ImageResizer以网络为目标,始终在sRGB色彩空间中生成图像;浏览器不支持ICC配置文件,因此我们不会使用它们。
那就是说,你当然可以修改几行并获得你想要的结果。
ImageResizer有3个管道 - GDI +(默认),FreeImage和WIC。
要进行更改,请转到ImageResizer repository并点击' fork'按钮。
当您克隆fork时,确定在进行更改之前切换到开发分支 - 否则您的更改将与下一个主要版本不兼容。
您可能想要修改Plugins/FreeImage/FreeImageEncoder.cs。 FreeImage documentation is in pdf form (yay!),因此您可能希望快速扫描它以了解它如何处理配置文件。
测试时,请确保通过安装3个FreeImage插件启用它们和通过命令字符串激活它们,&builder=freeimage
将激活完整的FreeImage管道,但是&encoder=freeimage
将只激活编码器部分(如果您想使用GDI +编辑图像,但通过FreeImage保存,则非常有用)。
您可能还想使用ignoreIcc=true
命令,这样您就不会看到解释为Adobe RGB的sRGB值。