gistfile1.txt package com.fz.servlet;import java.awt.BasicStroke;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import java.util.Random;import java.util
package com.fz.servlet; import java.awt.BasicStroke; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.Random; import java.util.UUID; import javax.imageio.ImageIO; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import com.fz.util.RandomColor; @WebServlet("/cherck.do") public class Cherck extends HttpServlet{ @Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { //定义图片宽高 int w = 200; int h = 200; //实例化缓冲图片 BufferedImage image = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB); //获取画笔队像 Graphics graphics = image.getGraphics(); Graphics2D g = (Graphics2D)image.getGraphics(); //设置颜色 graphics.setColor(RandomColor.getColor()); //设置形状 graphics.fillRect(0, 0, w, h); //矩形 graphics.setColor(RandomColor.getColor()); graphics.fillRect(5, 5, w/4, h/4); //圆形 graphics.setColor(RandomColor.getColor()); graphics.fillOval(55, 55, w/4, h/4); //线 graphics.setColor(RandomColor.getColor()); graphics.drawLine(50, 50, w/2, h); //多条线 Random r = new Random(); for(int m=0;m<=20;m++){ g.setStroke(new BasicStroke(r.nextFloat() * 20 + 1f)); graphics.setColor(RandomColor.getColor()); int a = r.nextInt(w); int b = r.nextInt(h); int c = r.nextInt(w); int d = r.nextInt(h); graphics.drawLine(a, b, w/2, h); } for(int m=0;m<=20;m++){ g.setStroke(new BasicStroke(r.nextFloat() * 20 + 1f)); g.setColor(RandomColor.getColor()); int a = r.nextInt(w); int b = r.nextInt(h); int c = r.nextInt(w); int d = r.nextInt(h); graphics.drawLine(a, b, c, d); } //曲线 graphics.setColor(RandomColor.getColor()); int xx = r.nextInt(w-50)+50; int swh = r.nextInt(10)+2; for(int m=0;m<=w;m++){ g.setStroke(new BasicStroke(r.nextFloat() * 20 + 1f)); //double x =xx + Math.cos(m*Math.PI/60)*30; //int y = m; int x = m; double y = (h/2) + Math.sin(m*Math.PI/200)*30; graphics.fillOval((int)x, (int)y, swh,swh); } //文字 graphics.setColor(RandomColor.getColor()); graphics.drawString("乐开花呢", 60, 30); //输出(在页面显示) ImageIO.write(image, "png", res.getOutputStream()); //保存图片 /*File file = new File("c:/ma/"+UUID.randomUUID().toString()+".png"); if (!file.exists()) { file.mkdirs(); } ImageIO.write(image, "png", file);*/ } }