Java 中的 RGB 到 CMYK 转换器,无需导入
RGB to CMYK converter in Java without imports
我的任务是在 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 的部分。
编辑:我知道有 post 这样的,但解决方案总是包括我不允许使用的库和导入。
下面的代码将在 r
中存储零,因为 r
的初始值小于 255 并且 r 是一个整数。所以根据整数除法 r/255
将为零。
r = r/255;
相反,您可以将除法的结果存储在双精度变量中,尝试以下操作(确保除法中至少有一个操作数是双精度,否则您可以将其转换为双精度)
double rC = r/255.0;
c = ((w-rC)/w);
我的任务是在 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 的部分。
编辑:我知道有 post 这样的,但解决方案总是包括我不允许使用的库和导入。
下面的代码将在 r
中存储零,因为 r
的初始值小于 255 并且 r 是一个整数。所以根据整数除法 r/255
将为零。
r = r/255;
相反,您可以将除法的结果存储在双精度变量中,尝试以下操作(确保除法中至少有一个操作数是双精度,否则您可以将其转换为双精度)
double rC = r/255.0;
c = ((w-rC)/w);