Converting Red, Green and Blue to RGB

2020-01-20 01:24发布

问题:

first I get Red, Green and Blue value from the following code,

  BufferedImage  image; 
  File input = new File("digital_image_processing.jpg");
     image = ImageIO.read(input);
     width = image.getWidth();
     height = image.getHeight();
      for(int i=0; i<height; i++){
        for(int j=0; j<width; j++){
           Color c = new Color(image.getRGB(j, i));
           int red = (int)c.getRed();
           int green = (int)c.getGreen() ;
           int blue = (int)c.getBlue() ;

Here After Getting the Red, Green and Blue value from getRGB(), I want to Do some modification with the Red, Green and Blue value then again I want to convert it to same RGB value, or create a new 2d array RGB for the combined Red, Green and blue value. How to do it?? Any Guess.. Pls. Help

回答1:

Abdul's answer is great, but it can be really slow when creating new objects of type 'Color' thousands of times. The simplest way would be:

int rgb = (red << 16 | green << 8 | blue)


回答2:

The simplest way to do it will be:

new Color(red, green, blue).getRGB();  

Also, as I see you are into Image Processing & Graphics, I suggest you my blog where I have written quite a few articles on the topic.