Image Processing in Java | Set 7 (Creating a random pixel image)

We strongly recommend to refer below post as a prerequisite of this.

In this set we will be creating a random pixel image. For creating a random pixel image, we don’t need any input image We can create an image file and set its pixel values generated randomly.


  1. Set the dimension of new image file.
  2. Create a BufferedImage object to hold the image [ import java.awt.image.BufferedImage; ]. This object is used to store an image in RAM.
  3. Generate random number values for alpha, red, green and blue components.
  4. Set the randomly generated ARGB (Alpha, Red, Green and Blue) values.
  5. Repeat the steps 3 and 4 for each pixels of the image.

Implementation of the above algorithm:

// Java program to demonstrate creation of random pixel image
import java.io.File;
import java.io.IOException;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
public class RandomImage
    public static void main(String args[])throws IOException
        // Image file dimensions
        int width = 640, height = 320;
        // Create buffered image object
        BufferedImage img = null;
        img = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
        // file object
        File f = null;
        // create random values pixel by pixel
        for (int y = 0; y < height; y++)
            for (int x = 0; x < width; x++)
                int a = (int)(Math.random()*256); //generating
                int r = (int)(Math.random()*256); //values
                int g = (int)(Math.random()*256); //less than
                int b = (int)(Math.random()*256); //256
                int p = (a<<24) | (r<<16) | (g<<8) | b; //pixel
                img.setRGB(x, y, p);
        // write image
            f = new File("G:\Out.jpg");
            ImageIO.write(img, "jpg", f);
        catch(IOException e)
            System.out.println("Error: " + e);

Note : Code will not run on online ide since it writes image in drive.



Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

This article is attributed to GeeksforGeeks.org

You Might Also Like

leave a comment



load comments

Subscribe to Our Newsletter