ÑéÖ¤ÂëÉú³ÉµÄ»ù±¾Á÷³Ì
1.ÑéÖ¤ÂëµÄÉú³É£¬ÎÒÃÇÄܹ»¿´µ½ÊÇÓÃGraphics¶ÔÏó»³öÀ´µÄ¡£
¶ÔÏóÎÒÃDZØÐëÒª»ñµÃGraphics¶ÔÏó
1-1£¬Graphics¶ÔÏóµÄ»ñÈ¡£¬ÒªÍ¨¹ýBufferedImage»ñµÃ
<span style="font-size:18px;">int width=100;//È·¶¨¿ò¿òµÄ´óС int height=40; BufferedImage bfi =new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics g=bfi.getGraphics();//»ñµÃGraphics¶ÔÏó¾Í¿ÉÒԻͼ</span> |
1-2,Ò»°ãµÄÑéÖ¤Âë±³¾°¿ò¶¼Êǰ×É«µÄ
<span style="font-size:18px;"> //1£¬ÉèÖñ³¾°£¨°×¿ò¿ò£© g.setColor(Color.WHITE);//°×É«µÄ»±Ê g.fillRect(0, 0, width, height);//»¾ØÐξØÐοò¿ò</span> |
1-3,±£´æÊý¾Ý£¨ºǫ́Ñé֤ʹÓ㩺ÍÉèÖÃ×ÖÌåÑùʽ£¨ÃÀ¹Û£©
String str="";//±£´æÊý¾Ý Random rom=new Random(); //ÉèÖÃ×ÖÌåµÄ´óдÓë´Ö g.setFont(new Font("a", Font.BOLD,20)); |
1-4.Éú³É¾ßÌåµÄÊýÖµ£¬ÒÔ¼°Ëæ»úÉú³ÉµÄÑÕÉ«
for(int i=0;i<4;i++){ int num=rom.nextInt(10);//Éú³ÉµÄËæ»úÊý g.setColor(new Color(rom.nextInt(256),rom.nextInt(256), rom.nextInt(256)));//ÉèÖû±ÊµÄÑÕÉ«£¨Ëæ»ú£© g.drawString(""+num, 20*i, 20+rom.nextInt(10));
//»³öÏߣ¬xµÄλÖÃÿһ֮¼äÔö¼Ó20£¬yµÄ×ø±êÒÔ20Ò»ÌõÏߣ¬ÔÚÏßÉÏ»òÕßÊÇÏßÏ //PS£ºÎ»ÖÃÐèÒªÃ÷ȷЩ£¬ } |
1-5.Ò»°ãµÄÊý×ÖÈÝÒ×±»ÆäËûÈí¼þÖ±½Óʶ±ð³öÀ´£¬ÎªÁË·ÀºÚ¡£ÉÔ΢¼ÓÒ»µã¸ÉÈÅÏß
//»³öһЩ¸ÉÈÅÏß for (int i = 0; i < 10; i++) { g.setColor(new Color(rom.nextInt(256),rom.nextInt(256), rom.nextInt(256)));//ÉèÖû±ÊµÄÑÕÉ«£¨Ëæ»ú£© g.drawLine(rom.nextInt(100),rom.nextInt(40), rom.nextInt(100), rom.nextInt(40));
//λÖÃÒ²ÊÇËæ»ú£¬x£¬yµÄÖµ²»Òª³¬¹ý¾ØÐοò¿ò } |
1-6.Ïú»ÙGraphics¶ÔÏóºÍ´æ´¢Í¼Æ¬
<span style="white-space:pre"> </span>g.dispose();//Ïú»Ù¶ÔÏó ImageIO.write(bfi, "JPEG", res.getOutputStream());//ͼƬÓÃ×Ö½ÚÁ÷ Ö±½ÓµÃµ½ PS::: resÊÇServletÀïÃæµÄ¡£ |
ÕâÑùÑéÖ¤Âë¾ÍÉú³ÉÁË£¬ÄÇÎÒÃÇÈçºÎµ¼Èëµ½Ç°Ì¨È¥ÄØ
2£¬¾ßÌåʵÏÖ
ǰ̨´úÂë³ÊÏÖ£¨£©£º
<body> <h1>Óû§µÇ¼</h1><br/> Óû§Ãû:<input type="text" name="nametext"/><br/> ÃÜ Â룺<input type="text" name="psd"/><br/> ÇëÊäÈëÑéÖ¤Â룺<input type="text"/> <img <span style="color:#ff0000;">src="/IMG/immg" </span>id="aid"/><a href="javascript:flush()" >¿´²»Çå</a> </body> |
srcµÄµØÖ·À´Ô´¾ÍÊÇ´Óºǫ́·¢¹ýÀ´µÄ¡£Â·¾¶ÊǺÜÓÐÒâ˼µÄ¡£
2-1
²½Öè
ÏîÄ¿ÀïÃæ
myeclipse --> src -->new Servlet
³öÏÖÈçÏ£º

µã»÷----¡·next ³öÏÖÈçÏÂÒ³Ãæ£º

Õâ¸öÅäÖûá×Ô¶¯µ½ÏîÄ¿ÀïÃæµÄweb-INFÎļþ¼ÐÀïÃæweb.xml¡£Õâ¸ö¿ò¿òÀïÃæµÄÖµ¾ÍÊÇǰ̨
srcÀïÃæÐ´µÄÐèÒª·ÃÎʵÄ·¾¶£¬----> µã»÷Íê³É¾ÍÐÐÁË¡£
×Ô¶¯ÁË¡£Éú³ÉÈçϽçÃæ£º

ÔÚÕâÀï¾Í¿Éд֮ǰµÄ´úÂë¡£µ«ÊÇÐèҪעÒ⣬ÎÒÃDZØÐëͨ¹ý¸²¸ÇÕâ¸ö·½·¨²ÅÄÜÓÐЧ£º
protected void service(HttpServletRequest req, HttpServletResponse resp)
//×Ô¶¯Éú³É ÊäÈë <span style="font-family: Arial, Helvetica, sans-serif;">service ²¹È«£¬×Ô¶¯Éú³É</span> throws ServletException, IOException { // TODO Auto-generated method stub super.service(req, resp); } |
¾ßÌåµÄ´úÂëÈçÏ£º
package cn.hncu.com.servlet; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.FileOutputStream; import java.io.IOException; import java.util.Random; import javax.imageio.ImageIO; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Imgdemo extends HttpServlet { @Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { int width=100;//È·¶¨¿ò¿òµÄ´óС int height=40; BufferedImage bfi =new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics g=bfi.getGraphics();//»ñµÃGraphics¶ÔÏó¾Í¿ÉÒԻͼ //1£¬ÉèÖñ³¾°£¨°×¿ò¿ò£© g.setColor(Color.WHITE);//°×É«µÄ»±Ê g.fillRect(0, 0, width, height);//»¾ØÐξØÐοò¿ò //2£¬¾ßÌåÉú³ÉËæ»úÊý String str="";//±£´æÊý¾Ý Random rom=new Random(); //ÉèÖÃ×ÖÌåµÄ´óдÓë´Ö g.setFont(new Font("a", Font.BOLD,20)); //»³ö¾ßÌåµÄͼƬ for(int i=0;i<4;i++){ int num=rom.nextInt(10);//Éú³ÉµÄËæ»úÊý g.setColor(new Color(rom.nextInt(256),rom.nextInt(256), rom.nextInt(256)));
//ÉèÖû±ÊµÄÑÕÉ«£¨Ëæ»ú£© g.drawString(""+num, 20*i, 20+rom.nextInt(10));
//»³öÏߣ¬xµÄλÖÃÿһ֮¼äÔö¼Ó20£¬yµÄ×ø±êÒÔ20Ò»ÌõÏߣ¬ÔÚÏßÉÏ»òÕßÊÇÏßÏ //PS£ºÎ»ÖÃÐèÒªÃ÷ȷЩ£¬ } //»³öһЩ¸ÉÈÅÏß for (int i = 0; i < 10; i++) { g.setColor(new Color(rom.nextInt(256),rom.nextInt(256), rom.nextInt(256)));
//ÉèÖû±ÊµÄÑÕÉ«£¨Ëæ»ú£© g.drawLine(rom.nextInt(100),rom.nextInt(40), rom.nextInt(100), rom.nextInt(40));
//λÖÃÒ²ÊÇËæ»ú£¬x£¬yµÄÖµ²»Òª³¬¹ý¾ØÐοò¿ò } g.dispose(); ImageIO.write(bfi, "JPEG", res.getOutputStream());//ͼƬÓÃ×Ö½ÚÁ÷ Ö±½ÓµÃµ½ } }<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span> |
ǰ̨´úÂ룺
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'img.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script type="text/javascript"> function flush(){ var text=document.getElementById("aid"); var date =new Date(); var tt=date.getTime(); text.src="/IMG/immg?"+tt; } </script> </head> <body> <h1>Óû§µÇ¼</h1><br/> Óû§Ãû:<input type="text" name="nametext"/><br/> ÃÜ Â룺<input type="text" name="psd"/><br/> ÇëÊäÈëÑéÖ¤Â룺<input type="text"/> <img src="/IMG/immg" id="aid"/><a href="javascript:flush()" >¿´²»Çå</a> </body> </html> |
¶ÔÓÚǰ̨´úÂëÐèÒª½âÊÍһϣº
µ±ÎÒÃǵĵÄÑéÖ¤Âë´«¹ýÀ´¿´²»ÇåµÄʱºòÐèҪˢУ¬¶øä¯ÀÀÆ÷ÓÐ×Ô¶¯¼ÇÒäµÄ¹¦ÄÜ£¬µ±Ã»ÓÐеIJÎÊý´«½øÀ´µÄʱºò£¬ä¯ÀÀÆ÷ÊDz»»áˢеģ¬ËùÒÔÎÒÃÇÐèÒªÊÖ¶¯µÄȥдһ¸öjs¿ØÖƲÎÊý´«£¬ÎÒÃÇÖªµÀ£¬Ö»ÓÐʱ¼äÊDz»»á±ä»¯µÄ£¬ËùÓÐÎÒÃDzÉÓÃʱ¼äÀ´×÷Ϊ²ÎÊý´«µÝ¡£
PS:×Ô¼º¿ÓÁËÒ»¶Îʱ¼äµÄÎÊÌ⣺ÑéÖ¤ÂëµÄ·¾¶ÎÊÌ⡣ǰ¶ËµÄ¡°/¡±±íʾ tomcatĿ¼£¬ÔÚÏîÄ¿ÄÚ²¿£¬Èçweb.xmlÖС°/¡±±íʾ¸ÃÏîĿϡ£Ò²¾ÍÊÇ˵£¬ËûÃÇÁ½¸öµÄĿ¼²îÁËÒ»²ã¡£
×îºó¸½ÉÏ×Ô¼ºÔÚ²âÊÔµÄʱºòµÄ´úÂëÒÔ¼°ÐÞ¸ÄÊý×ÖÐÎ×´µÄÎÊÌ⣬Èç¸Ä³É2DµÄЧ¹û¸ü²»´í¡£¶¼ÓкÜÃ÷ÏԵļǼ¡£
package cn.hncu.com; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Random; import javax.imageio.ImageIO; import org.junit.Test; public class Demoimg { @Test public void Test() throws Exception{ String str="9988"; int width=60; int height=30; //ͨ¹ýbufferedImage¶ÔÏó»ñµÃGraphics¶ÔÏó BufferedImage bfi=new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR); Graphics g=bfi.getGraphics(); g.drawString(str, 10,10); g.dispose();//ÀàËÆÓÚIOÖеĹØÁ÷ ImageIO.write(bfi , "JPEG", new FileOutputStream("F:\\ex\\a.jpg")); //bfiΪ»²¼£¬½«»²¼Ð´µ½ÎļþÖÐJPEGΪָ¶¨Îļþ¸ñʽ } @Test public void Test2() throws Exception{ int width=100; int height=40; BufferedImage bfi =new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics g=bfi.getGraphics();//»ñµÃGraphics¶ÔÏó¾Í¿ÉÒԻͼ //1£¬ÉèÖñ³¾°£¨°×¿ò¿ò£© g.setColor(Color.WHITE);//°×É«µÄ»±Ê g.fillRect(0, 0, width, height); //2£¬¾ßÌåÉú³ÉËæ»úÊý String str="";//±£´æÊý¾Ý Random rom=new Random(); //ÉèÖÃ×ÖÌåµÄ´óдÓë´Ö g.setFont(new Font("a", Font.BOLD,20)); //»³ö¾ßÌåµÄͼƬ for(int i=0;i<4;i++){ int num=rom.nextInt(10);//Éú³ÉµÄËæ»úÊý g.setColor(new Color(rom.nextInt(256),rom.nextInt(256), rom.nextInt(256)));
//ÉèÖû±ÊµÄÑÕÉ«£¨Ëæ»ú£© g.drawString(""+num, 20*i, 20+rom.nextInt(10));
//»³öÏߣ¬xµÄλÖÃÿһ֮¼äÔö¼Ó20£¬yµÄ×ø±êÒÔ20Ò»ÌõÏߣ¬ÔÚÏßÉÏ»òÕßÊÇÏßÏ //PS£ºÎ»ÖÃÐèÒªÃ÷ȷЩ£¬ } //»³öһЩ¸ÉÈÅÏß for (int i = 0; i < 10; i++) { g.setColor(new Color(rom.nextInt(256),rom.nextInt(256), rom.nextInt(256)));
//ÉèÖû±ÊµÄÑÕÉ«£¨Ëæ»ú£© g.drawLine(rom.nextInt(100),rom.nextInt(40), rom.nextInt(100), rom.nextInt(40));
//λÖÃÒ²ÊÇËæ»ú£¬x£¬yµÄÖµ²»Òª³¬¹ý¾ØÐοò¿ò } g.dispose(); ImageIO.write(bfi, "JPEG", new FileOutputStream("F:\\ex\\b.jpg")); } //»³ö¿ÉÒԱ仯µÄÇé¿ö //×ÖÌåÄܹ»ÐýתµÄÑéÖ¤Âë @Test public void Test3() throws IOException{ int width=100; int height=40; BufferedImage bfi =new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics g=bfi.getGraphics(); Graphics2D g2d=(Graphics2D) g; Random rom =new Random(); g2d.setColor(Color.WHITE);//ÉèÖû±ÊµÄÑÕÉ« g2d.fillRect(0, 0, width, height);//»³öÒ»¸ö°×É«µÄ¾ØÐÎ g2d.setFont(new Font("a", Font.BOLD, 20)); for(int i=0;i<4;i++){ int num=rom.nextInt(10); //Ðýת£¬·ÅËõ AffineTransform aff=new AffineTransform(); //aff.rotate(Math.random(), i*18, height-20);//Ðýת aff.scale(0.6+Math.random(), 0.6+Math.random());//Ëõ·Å g2d.setColor(new Color(rom.nextInt(256),rom.nextInt(256),rom.nextInt(256))); g2d.setTransform(aff); g2d.drawString(""+num, i*18, height-25); } g2d.dispose(); ImageIO.write(bfi, "JPEG", new FileOutputStream("F:\\ex\\c.jpg")); } } |
|