【问题标题】:On Google App Engine in Python how do you detect if a JPEG uses CMYK color space and how do you convert it to RGB?在 Python 中的 Google App Engine 上,如何检测 JPEG 是否使用 CMYK 颜色空间以及如何将其转换为 RGB?
【发布时间】:2011-05-19 18:59:48
【问题描述】:

在应用转换时,Google App Engine 中的图像 API 似乎无法正确处理 CMYK JPEG 图像。在生产服务器上,生成的图像看起来很褪色,而在开发服务器(GAE 使用 PIL)上,生成的图像更暗,清晰度更低。

API 似乎假定所有 JPEG 文件都是 RGB。

有没有办法在 Google App Engine 上检测 CMYK 图像?

有没有办法将图像转换为RGB?

【问题讨论】:

    标签: python google-app-engine jpeg


    【解决方案1】:

    JPEG 既可以参考格式标准JIF,也可以参考最广泛使用的合规实现JFIF

    很遗憾,Images API 没有记录支持检测或转换使用 Adob​​e 基于 CMYK 的格式编码的 JPEG。从技术上讲,这些都是有效的 JPEG,但对该格式的支持似乎非常少。

    hachoir-parser 通过解析二进制流支持detecting CMYK JPEGs。只要它是纯 python,它应该可以在 App Engine 上运行。

    您可以在 App Engine issue tracker 上的 Images API 中请求官方支持。

    【讨论】:

    • 我已请求支持问题跟踪器以检测 CMYK 图像。由于这是一个兴趣不大的功能请求,我希望它不会被添加,或者至少不会很快添加,除非它真的很容易做到。我将不得不研究像 hach​​oir-parser 这样的替代解决方案。我希望有一种简单的方法可以在不使用大型外部库的情况下检测 CMYK。谢谢。
    • hachoir 除了允许您通过向用户发送错误来拒绝 cmyk 图像之外无济于事,因为没有办法让 Images api 尊重色彩空间(虽然很容易了解 hach​​oir !)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    • 2014-04-13
    • 2014-05-31
    • 1970-01-01
    • 2013-08-17
    • 2010-10-23
    相关资源
    最近更新 更多