个性化阅读
专注于IT技术分析

Java中的图像处理S7(创建随机像素图像)

我们强烈建议你在下面的帖子中提及此内容。

  • Java中的图像处理S1(读和写)
  • Java中的图像处理S2(获取并设置像素)

在这个集合中, 我们将创建一个随机像素图像。创建随机像素图像时, 不需要任何输入图像。我们可以创建图像文件并设置其随机生成的像素值。

算法:

  1. 设置新图像文件的尺寸。
  2. 创建一个BufferedImage对象来保存图像[importjava.awt.image.BufferedImage; ]。该对象用于在RAM中存储图像。
  3. 为生成随机数值alpha, 红色, 绿色和蓝色组件.
  4. 设置随机生成的ARGB(Alpha, Red, Green和Blue)值。
  5. 对图像的每个像素重复步骤3和4。

实现以上算法的:

//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);
         }
     }
}

注意 :由于代码会将图像写入驱动器, 因此无法在在线IDE上运行。

输出如下:

Out.jpg

如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。

赞(0)
未经允许不得转载:srcmini » Java中的图像处理S7(创建随机像素图像)

评论 抢沙发

评论前必须登录!