在Python的Google App Engine中,如何检测JPEG是否使用CMYK颜色空间并将其转换为RGB?
在Google App Engine的图片API中,处理CMYK格式的JPEG图片时似乎出现了问题。当在生产服务器上进行转换时,生成的图片看起来颜色很淡,而在开发服务器上(那里使用了PIL库),生成的图片则显得更暗且不够清晰。
看起来这个API默认认为所有的JPEG文件都是RGB格式的。
有没有办法在Google App Engine上检测到CMYK格式的图片呢?
有没有办法把图片转换成RGB格式呢?
1 个回答
3
JPEG可以指两种东西,一种是格式标准,叫做JIF,另一种是最常用的实现方式,叫做JFIF。
不过,Images API并没有文档说明支持检测或转换使用Adobe的CMYK格式编码的JPEG。技术上来说,这些也是有效的JPEG,但对这种格式的支持似乎非常有限。
hachoir-parser可以通过解析二进制流来检测CMYK JPEG。只要它是纯Python写的,就应该可以在App Engine上运行。
你可以在App Engine问题跟踪器上请求对Images API的官方支持。