首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用火狐中的每幅图像的色彩校正?

禁用火狐中的每幅图像的色彩校正?
EN

Stack Overflow用户
提问于 2012-10-06 10:14:50
回答 1查看 1K关注 0票数 2

这个问题与Firefox 3.5 color correction hack?密切相关。

我的情况是,我有一个帆布游戏,其中使用的图像包含关于它们的形状、连接点等的附加信息。这些信息存储在PNG图像本身中,使用有意义的颜色(例如,RGB(255,255,0)作为连接点)。

在画布上加载元素和绘图创建图像对象,设置img.src,并在img.load函数中预处理读取敏感信息的图像数据(并在绘制到画布之前从图像数据中删除敏感像素)。

问题是:在FF中,像素应该是255,255,0,实际上是255,254,0。我在FF颜色校正方面没有问题(我不在乎显示的图像是否有正确的颜色,或者稍微修改了一下),但我希望获取图像数据会给我提供未经校正的数据。我正在寻找一种解决方案,它不会涉及更改服务器上的图像。有什么办法吗?例如:img.setColorProfile()、img.disableColorCorrection()、img.getImageData(disableColorCorrection)或img.getImageData(colorProfile)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-06 10:24:38

这个问题在加载图像时可能比图像绘制做得更多。

我认为正确的解决方案是从图像中删除颜色配置文件信息(这似乎是您想要的)。如果可能的话,服务器为Firefox提供另一个图像资源,如果您不需要完整的原始数据。

http://f6design.com/journal/2006/12/01/fixing-png-gamma/

此外,如果服务器是合作的,并且允许CORS和AJAX加载图像,您可以在纯Javascript中解码PNG的复制。使用png.js在Javascript中解码图像,并从图像数据(而不是<img>)创建源<canvas>。这样,您就可以控制每个PNG像素的RGB值。

https://github.com/devongovett/png.js

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12758860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档