Java 图片相关操作

Posted 寻觅beyond

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 图片相关操作相关的知识,希望对你有一定的参考价值。

代码如下:

package lixin.gan.test;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;

import javax.imageio.ImageIO;

public class ValidateCode {
	public static void main(String[] args) throws Exception {
		
		// 创建一张图片
		//BufferedImage(int width, int height, int imageType)
		BufferedImage image = new BufferedImage(50, 30, BufferedImage.TYPE_INT_RGB);
		
		// 在图片上面创建一个2D的图层
		Graphics2D graphics = image.createGraphics();
		
		// 设置图层的左上坐标点,以及宽高
		//graphics.fillRect(x, y, width, height);
		graphics.fillRect(0, 0, 50, 30);
		
		// 创建一种颜色
		Color colorBlue = Color.BLACK;
		// Color(int r, int g, int b)
		Color colorRed = new Color(255, 0, 0);  
		
		// 设置图层的颜色
		//graphics.setColor(Color);
		graphics.setColor(colorRed);
		
		// 产生随机数
		List<Integer> randList = new ArrayList<>();
		Random random = new Random();
		for (int i = 0; i < 4; i++) {
			randList.add(random.nextInt(10));
		}
		
		// 创建字体
		// Font(String name, int style, int size)
		Font font = new Font("宋体", Font.ITALIC, 20);
		
		// 设置图层使用的字体
		graphics.setFont(font);
		
		// 将随机数挨个画在图层中
		for (int i = 0; i < randList.size(); i++) {
			graphics.drawString(randList.get(i)+"", i * 10, 20);
		}
		
		// 创建输出流
		OutputStream outputStream = new FileOutputStream(new File("validateCode.png"));
		
		// 将图片保存,并指定图片格式
		ImageIO.write(image, "png", outputStream);
	}
}

   效果图(白色部分):

  

 

  

 

以上是关于Java 图片相关操作的主要内容,如果未能解决你的问题,请参考以下文章

根据图片的url地址下载图片到本地保存代码片段

如何在用java创建的布局内创建地图片段(GoogleMap)?

CardView 不在披萨片段中显示图片

滑动 ViewPager 时如何清除片段相关状态

片段内容未出现在手机上

java使用Thumbnailator操作图片