Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于RGB-CMY的java程序编写_Java - Fatal编程技术网

关于RGB-CMY的java程序编写

关于RGB-CMY的java程序编写,java,Java,您将如何编写一个简单的Java程序来将RGB转换为CMY?…或者您可以给我一些关于如何编写它的提示?RGB转换为CMY或从CMY转换为CMY 从RGB到CMY的转换如下 C = 1 - R M = 1 - G Y = 1 - B 有关更多信息,请参阅下文 将添加到 CYAN - 1 = RED MAGENTA - 1 = GREEN YELLOW - 1 = BLUE 遗嘱 来自rgb的贸易 RED - 1 = CYAN GREEN - 1 = MAGENTA BLUE

您将如何编写一个简单的Java程序来将RGB转换为CMY?…或者您可以给我一些关于如何编写它的提示?

RGB转换为CMY或从CMY转换为CMY

从RGB到CMY的转换如下

C = 1 - R
M = 1 - G
Y = 1 - B
有关更多信息,请参阅下文

将添加到

   CYAN - 1 = RED
   MAGENTA - 1 = GREEN
   YELLOW - 1 = BLUE

遗嘱 来自rgb的贸易

RED - 1 = CYAN
GREEN - 1 = MAGENTA
BLUE - 1 = CYAN

我试图转换一个特定的图片,以及,这是给定的。我知道谁可以从RGB计算CMY值。我正在以像素方式读取给定图片(RGB颜色空间中的内容),将其计算为CMY,然后按什么方式将其保存为CMY图片

以下是我的Java代码:

import java.awt.Color;
import java.awt.color.ColorSpace;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

public class Aufgabe2c {

    public static void main(String[] args) {
        try {
            BufferedImage image = ImageIO.read(new File("blumen.bmp"));
            iterateThroughImageToGetPixel(image);

        } catch (IOException e) {
            e.printStackTrace();
        }

    }
    public static void iterateThroughImageToGetPixel(BufferedImage image) {
        int width = image.getWidth();
        int height = image.getHeight();
        System.out.println("width, height: " + width + ", " + height);

        for (int i = 0; i < height; i++) {
            for (int j = 0; j < width; j++) {
                System.out.println("x,y: " + j + ", " + i);
                int pixel = image.getRGB(j, i);
                getPixelARGB(pixel);
                System.out.println("");
            }
        }
    }
    /*
     * Quelle: https://alvinalexander.com/blog/post/java/getting-rgb-values-for-each-pixel-in-image-using-java-bufferedi
     *         http://openbook.rheinwerk-verlag.de/javainsel9/javainsel_20_006.htm#mj4c12381d5bacf8fb6ee31448d26890bb
     */
    public static void getPixelARGB(int pixel) {
        int alpha = (pixel >> 24) & 0xff;
        int red = (pixel >> 16) & 0xff;
        int green = (pixel >> 8) & 0xff;
        int blue = (pixel) & 0xff;
        convertRGBToCMY(red, green, blue);
        System.out.println("argb: " + alpha + ", " + red + ", " + green + ", " + blue);
    }

    public static void convertRGBToCMY(int red, int green, int blue) {
        int[] cmyArray = new int[3];

        //cyan
        cmyArray[0] = 255 - red;
        //magenta
        cmyArray[1] = 255 - green;
        //yellow
        cmyArray[3] = 255 - blue;

        Color col = new Color(new ColorSpace(), components, alpha)
//          BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR);
//          ImageIO.write(image, "bmp", new File("blumen_cym.bmp") ); // Save as BMP
//          System.out.println("argb: "+ red + ", " + green + ", " + blue);
    }
}
导入java.awt.Color;
导入java.awt.color.ColorSpace;
导入java.awt.image.buffereImage;
导入java.io.File;
导入java.io.IOException;
导入javax.imageio.imageio;
公共类Aufgabe2c{
公共静态void main(字符串[]args){
试一试{
BuffereImage image=ImageIO.read(新文件(“blumen.bmp”);
迭代ThroughImageToGetPixel(图像);
}捕获(IOE异常){
e、 printStackTrace();
}
}
公共静态无效迭代ThroughImageToGetPixel(BuffereImage图像){
int width=image.getWidth();
int height=image.getHeight();
System.out.println(“宽度,高度:“+width+”,“+height”);
对于(int i=0;i>24)&0xff;
int red=(像素>>16)和0xff;
绿色整数=(像素>>8)&0xff;
蓝色整数=(像素)&0xff;
convertRGBToCMY(红色、绿色、蓝色);
System.out.println(“argb:+alpha+”、“+red+”、“+green+”、“+blue”);
}
公共静态无效转换器RGBTOCMY(整数红色、整数绿色、整数蓝色){
int[]cmyArray=新的int[3];
//青色
cmyArray[0]=255-红色;
//洋红
cmyArray[1]=255-绿色;
//黄色的
cmyArray[3]=255-蓝色;
Color col=新颜色(新颜色空间(),组件,alpha)
//BuffereImage=新的BuffereImage(宽度、高度、BuffereImage.TYPE_3BYTE_BGR);
//image io.write(图像,“bmp”,新文件(“blumen_cym.bmp”);//另存为bmp
//System.out.println(“argb:+红色+”、“+绿色+”、“+蓝色”);
}
}

CMYK的可能副本不是CMY。这只是一个超前的概念