【问题标题】:RGB to CMYK converter in Java without importsJava 中的 RGB 到 CMYK 转换器,无需导入
【发布时间】:2016-11-01 15:57:04
【问题描述】:

我的任务是在 java 中编写一个非常简单的 rgb 到 cmyk 转换器,但我的尝试没有奏效。寻找解决方案没有帮助,因为每个人都使用我在这里无法使用的库和导入。我希望有人看到我的错误。

int w;
    int c;
    int m;
    int y;
    int k;

    if (r+b+g==0) {
        System.out.println("Ist alles 0");
    } else {
        int max =  Math.max(Math.max(r,b),g);
        w = (max / 255);

        r = r/255;
        g = g/255;
        b = b/255;

        c = ((w-r)/w);
        m = ((w-g)/w);
        y = ((w-b)/w);
        k = 1-w;
        System.out.println(c+" "+m+" "+y+" "+k);
    }

这是我尝试将通过用户输入获得的 r、g 和 b 值 (int) 转换为 cmyk 的部分。

编辑:我知道有这样的帖子,但解决方案总是包括我不允许使用的库和导入。

【问题讨论】:

  • 您面临的问题是什么..
  • 我只得到 0 作为每个变量 cmy 和 k 的值。无论我提供什么作为输入。 @Shloim 看到了那个帖子,但他们正在使用我不允许使用的库。请注意,我已经说过了。
  • @KendelVentonda 解决方案之一,仅使用 java awt 和外部文件。

标签: java converter rgb cmyk


【解决方案1】:

下面的代码将在r 中存储零,因为r 的初始值小于255 并且r 是一个int。所以按照整数除法r/255 将为零。

r = r/255;

您可以将除法的结果存储在双精度变量中,请尝试以下操作(确保除法中的至少一个操作数是双精度,否则您可以将其强制转换为双精度)

double rC = r/255.0;
c = ((w-rC)/w);

【讨论】:

  • 当然不是唯一的问题,但帮助我让它工作!谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-04
  • 1970-01-01
  • 2016-01-11
  • 2012-11-29
  • 1970-01-01
  • 2023-03-25
  • 2011-01-26
相关资源
最近更新 更多