如何从android中的RGB BITMAP创建CMYK图像

时间:2013-08-13 22:18:23

标签: android image-processing rgb cmyk

就像问题的标题一样,我想问一下当我将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的新手,如果我错了,请纠正我。

1 个答案:

答案 0 :(得分:0)

最好的事情是用于转换格式的库调用。尝试使用Stack-Flow问题Android CMYK mode中描述的android-lib-magick。