小编典典

1位位图数据如何转换为8bit(24bpp)?

algorithm

假设我有4个位图,例如CMYK,所有这些位图都是1bit /像素,并且具有不同的颜色,并且我想将它们转换为8bit /色(24bpp)位图,我该怎么做?

如果数据如下所示:

// the Cyan separation

CCCC CCCC CCCC CCCC CCCC CCCC CCCC CCCC
...

// the magenta separation, and so on..
MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM
...

例如,青色的RGB值为(0,255,255),在像素0(第一个像素)处,我的值为1(开),洋红色的RGB值为(255,255,0),并且像素,值为1。第一个RGB像素是什么样的?会是这样吗?

BBBB BBBB GGGG GGGG RRRR RRRR
// would this 3-byte sequence  actually be 255,255,255
// because the cyan has (0,255,255) and the 
// magenta has (255,255,0)?

谢谢,只是对如何将1bit的间隔转换为8bit图像感到困惑。


阅读 523

收藏
2020-07-28

共1个答案

小编典典

CMYK是一种辅助颜色系统,而RGB是一种附加颜色系统。

如果CMY(K)值为(1.0,1.0,1.0),则为黑色,而RGB值为(255,255,255),则为白色。

青色+洋红色=蓝色:(0,255,255)+(255,0,255)!=(0,0,255)。但不完全是,因为我们正在谈论不同的色彩系统。

您需要首先在CMYK中构造像素,然后将其转换为RGB,可以通过执行 近似(R, G, B) = (1-C, 1-M, 1-Y)

为了1位值转换为一个8位的值,你只需要每一个变换00x0010xFF:乘bitValue0xFF

2020-07-28