繁体   English   中英

如何在javascript中将图像cmyk转换为RGB模式

[英]how can convert image cmyk to rgb mode in javascript

我有个问题:

浏览器不支持以CMYK模式显示图像,并且客户端可以在上传的图像中看到一些非常清晰和不同的颜色,而这些颜色还可以。

解决这个问题,我认为使用JavaScript语言在客户端将CMYK图像转换为RGB模式图像是一个好主意。

根据我关于使用JavaScript将CMYK图像转换为RGB模式的搜索结果,需要将图像导入画布,并使用像这样的库ColorConverter使每个像素中的每个颜色数字将CMYK转换为RGB颜色数字,最后我有一个RGB模式的画布

这就是我的想法,现在我的问题是这种解决方案是否正确? 是否有更好的方法来完成这项工作? 请给我你的想法。

浏览器不支持以CMYK模式显示图像

由于与输出设备有关,因此无法正确显示CMYK图像,并且转换为模拟预览将需要本地校准且准确的ICC配置文件(如果不需要准确性,则至少需要高质量的近似配置文件)。

可以将每个CMYK像素简单地转换为RGB,但是,由于RGB的色域比CMYK的色域宽,您最终可能会获得非常明亮的结果。

在我看来,更好的方法是在使用ImageMagick或类似软件上载时,可以在服务器端实施转换设置,其中可以考虑ICC配置文件。 这将允许您保留原始CMYK文件以进行下载/打印,并保留经过转换和近似的RGB版本以进行预览(例如,可以允许客户端上载其输出ICC进行精确预览)。

无论如何,将CMYK数据直接转换为RGB的公式为:

var C, M, Y, K;   // initialize with normalized values

然后

var r = 255 * (1 - C) * (1 - K);
var g = 255 * (1 - M) * (1 - K);
var b = 255 * (1 - Y) * (1 - K);

Alpha通道设置为完全不透明。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM