Tutorialspoint.dev

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.

Algorithm:

  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
        try
        {
            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.



Output:

Out.jpg
Out

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

leave a comment

code

0 Comments

load comments

Subscribe to Our Newsletter