我们强烈建议你在下面的帖子中提及此内容。
- Java中的图像处理S1(读和写)
- Java中的图像处理S2(获取并设置像素)
在这个集合中, 我们将创建一个随机像素图像。创建随机像素图像时, 不需要任何输入图像。我们可以创建图像文件并设置其随机生成的像素值。
算法:
- 设置新图像文件的尺寸。
- 创建一个BufferedImage对象来保存图像[importjava.awt.image.BufferedImage; ]。该对象用于在RAM中存储图像。
- 为生成随机数值alpha, 红色, 绿色和蓝色组件.
- 设置随机生成的ARGB(Alpha, Red, Green和Blue)值。
- 对图像的每个像素重复步骤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
如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。
评论前必须登录!
注册