0

就像问题的标题一样,我想问当我将 RGB 图像作为位图时如何创建 CMYK 图像。我读过从 RGB 值生成 CMYK 值的问题,就像这段代码一样

public static int[] rgbToCmyk(int red, int green, int blue)
{
    int black = Math.min(Math.min(255 - red, 255 - green), 255 - blue);

    if (black!=255) {
        int cyan    = (255-red-black)/(255-black);
        int magenta = (255-green-black)/(255-black);
        int yellow  = (255-blue-black)/(255-black);
        return new int[] {cyan,magenta,yellow,black};
    } else {
        int cyan = 255 - red;
        int magenta = 255 - green;
        int yellow = 255 - blue;
        return new int[] {cyan,magenta,yellow,black};
    }
}

但是,在我获得 CMYK 值之后,我仍然不明白将值放在哪里,就像 Android 上的 Bitmap.setBitmap() 一样。据我所知,setBitmap 函数使用 RGB 值,而不是 CMYK 值......有一种方法可以在 android 中将图像颜色类型更改为 CMYK?我是android新手,如果我错了,请纠正我..

4

1 回答 1

0

最好的办法是调用库来转换格式。试试 android-lib-magick,在 Stack Overflow 问题Android CMYK mode中描述。

于 2013-08-13T22:42:18.967 回答