1

这是我们用来将 RGB 转换为相应 CMY 格式的公式:

C = 1 - ( R / 255 )
M = 1 - ( G / 255 )
Y = 1 - ( B / 255 )

在将这个公式应用于原始图像的 RGB 值之后,我试图显示 CMY 图像,但我得到的结果值介于 0 和 1 之间。我认为这个范围不能用于显示图像。

如何将 CMY 值存储为数组,以便用于显示图像?我是否必须为此缩放 0-1 到 0-255 的范围?

如果我必须缩放,为什么使用这个公式,我可以直接使用:

C = 255 - R
M = 255 - G
Y = 255 - B
4

2 回答 2

1
#include <iostream>

using namespace std;

int main() {
    float C = 1.0f - (R / 255.0f);
    float M = 1.0f - (G / 255.0f);
    float Y = 1.0f - (B / 255.0f);

    float cmyArray[3] = {C, M, Y};
    return 0;
}

此代码将C, M,Y变量存储为floating points, 然后为floating points要推入的 3 创建一个数组。在这种情况下, 它从值C, M, 开始并且Y已经初始化到数组中。

于 2013-04-08T05:46:29.450 回答
0

像这样: http: //liveworkspace.org/code/2rpyRF $2

如果您需要许多值,那么您可以这样处理第 n 个 cmy 组:n*3 + x其中 x 为 0 表示 c,1 表示 m,2 表示 y。

于 2013-04-08T05:45:19.153 回答