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関数がCMYK値ではなくRGB値を使用していることを知っているので... Androidで画像の色の種類をCMYKに変更する方法はありますか? 私はAndroidの初心者です。間違っていたら修正してください..

4

1 に答える 1

0

最良の方法は、フォーマットを変換するためのライブラリ呼び出しです。Stack Overflow の質問Android CMYK modeで説明されている android-lib-magick を試してください。

于 2013-08-13T22:42:18.967 に答える