mupdf中CMYK与RGB的转换算法

news/2024/10/23 7:35:04/

之前碰到过RGB与CMYK之间转换的问题,网上也没有比较官方的转换公式,不同的软件可能会采用不同的算法,现在mupdf,正好也看到了这样的算法,还是有一定参考价值的,具体算法如下:

#define MIN(a,b) ( (a) < (b) ? (a) : (b) )
#define MAX(a,b) ( (a) > (b) ? (a) : (b) )
#define CLAMP(x,a,b) ( (x) > (b) ? (b) : ( (x) < (a) ? (a) : (x) ) )

static void cmyk_to_rgb( float *cmyk, float *rgb)
{
#ifdef SLOWCMYK /* from poppler */
float c = cmyk[0], m = cmyk[1], y = cmyk[2], k = cmyk[3];
float c1 = 1 - c, m1 = 1 - m, y1 = 1 - y, k1 = 1 - k;
float r, g, b, x;


/* this is a matrix multiplication, unrolled for performance */
x = c1 * m1 * y1 * k1; /* 0 0 0 0 */


http://www.ppmy.cn/news/826676.html

相关文章

php 将rgb转cmyk,将CMYK颜色值和RGB颜色相互转换的PHP代码

function hex2rgb($hex) { $color str_replace(‘#‘,‘‘,$hex); $rgb array(‘r‘ > hexdec(substr($color,0,2)), ‘g‘ > hexdec(substr($color,2,2)), ‘b‘ > hexdec(substr($color,4,2))); return $rgb; } // www.jb51.net function rgb2cmyk($var1,$g0,$b0)…

Java读取图片 cmyk转rgb

背景 使用java处理图片的时候&#xff0c;比如用ImageIo.read&#xff08;图片&#xff09;时&#xff0c;是不能处理CMYK的图片的&#xff0c;会报错&#xff0c;因此&#xff0c;我们需要将CMYK转化为RGB模式&#xff0c;并且排除转换时的色差问题。 代码 package com.e36…

php cmyk转rgb,用PHP将CMYK格式的JPG文件转为RGB格式 | 学步园

上次说到&#xff0c;CMYK格式的JPG用IE6浏览时无法显示&#xff0c;解决方法是用PS之类的软件转成RGB。但对于网站来说&#xff0c;用户并不知道这么解决&#xff0c;所以还是要程序想办法解决了。解决方法是用imagick或者imagemagick来处理图片&#xff0c;imagick代码如下&a…

ps出现两种颜色模式CMYK/RGB模式

如上图ps窗口出现两种颜色模式&#xff0c;会导致所在页面颜色变暗 解决方案 在视图窗口取消校样颜色就可以了

java cmyk转rgb_Java实现把cmyk格式图片转换为RGB格式图片

这个代码是我在网上找的&#xff0c;可以运行。 package com.pb.util; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGImageEncoder; import java.awt.Transparency; import java.awt.color.ColorSpace; import java.awt.image.BufferedIma…

RGB色彩模式与CMYK色彩模式参数转换公式

资料来源于网络&#xff0c;仅供个人学习使用。 1. RGB色彩模式 自然界中绝大部分的可见光谱可以用红、绿和蓝三色光按不同比例和强度的混合来表示。RGB分别代表着3种颜色&#xff1a;R代表红色&#xff0c;G代表绿色、B代表蓝色。RGB模型也称为加色模型&#xff0c;通常用于…

CMYK与RGB

CMYK 1、简介 ①CMYK模式是一种色彩模式&#xff0c;当阳光照射到一个物体上时&#xff0c;这个物体将吸收一部分光线&#xff0c;并将剩下的光线进行反射&#xff0c;反射的光线就是我们所看见的物体颜色的减色色彩模式&#xff0c;同时也是与RGB模式的根本不同之处 ②C&…

CMYK转RGB

扫描仪的颜色空间一般为CMYK&#xff0c;从扫描仪上得到的图片如果是自己移植图片解码器&#xff0c; 一般需要将CMYK转换至RGB888。相关解释&#xff0c;参考国外资料&#xff1a; To understand the CMYK color model, it is best to start with an understanding of RGB co…