Search code examples
javacolorsbufferedimage

Converting Red, Green and Blue to RGB


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


Solution

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

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