各位,用java程序可以生成图片吗?用什么方法啊,,我现在一点思路都没有。求各位大虾给个思路。。 谢谢了!
解决方案 »
- 咨询一个关于JAVA线程吊死监控的问题
- 紧急求ibatis连接sql的sqlMapconfig.xml 和 SqlMap.properties 文件内容
- webservice tomcat生成wsdl文件内容(IP地址相关)却是内网地Ip地址
- 搞JAVA开发的 以下几门课程哪几门相对重要?
- 请教:在Windows2003标准版上安装Tomcat连接Oracle9i速度奇慢?
- Hibernate 根据一个非法的ID取到一个CGLIB代理对象,但不是空的,请教如何判断是否数据库是否存在该记录
- hibernate查询中文的问题
- 关于tomcat启动与关闭的问题
- 怎样才能把两个xml文件合成一个?
- 关于系统配置的问题,大家来发表一点意见
- JAVA分布式系统开发,前后台应用分别在不同服务器上,那图片上传读取问题
- 急 各位大哥大姐帮个,忙啊
import="java.io.OutputStream"%><%@ page import="java.awt.Color"%><%@ page
import="java.awt.Font"%><%@ page import="java.awt.Graphics"%><%@ page
import="java.awt.image.BufferedImage"%><%@ page
import="javax.imageio.ImageIO"%>
<%@ page
import="....SessionKeyConstant"%>
<%
int width = 60;
int height = 22;
//create the image
BufferedImage image = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();
// set the background color
g.setColor(new Color(0xDCDCDC));
g.fillRect(0, 0, width, height);
// draw the border
g.setColor(Color.black);
g.drawRect(0, 0, width - 1, height - 1);
// create a random instance to generate the codes
Random rdm = new Random();
String hash1 = Integer.toHexString(rdm.nextInt());
// make some confusion
for (int i = 0; i < 50; i++)
{
int x = rdm.nextInt(width);
int y = rdm.nextInt(height);
g.drawOval(x, y, 0, 0);
}
// generate a random code
String capstr = hash1.substring(0, 4);
session.setAttribute(SessionKeyConstant.VALIDATECODE, capstr);
g.setColor(new Color(0, 100, 0));
g.setFont(new Font("Times New Roman", Font.PLAIN, 20));
g.drawString(capstr, 11, 17);
g.dispose();
response.setContentType("image/jpeg");
out.clear();
out = pageContext.pushBody();
OutputStream strm = response.getOutputStream();
ImageIO.write(image, "jpeg", strm);
strm.close();
%>
Java代码
package servlet; //包名
import java.awt.*;
import java.awt.image.*;
import com.sun.image.codec.jpeg.*;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
public class JPEGServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("image/jpeg");
ServletOutputStream out = response.getOutputStream();
BufferedImage image = new BufferedImage(750, 30, BufferedImage.TYPE_INT_RGB);
int per = 0;
try
{
per = Integer.parseInt((String)request.getParameter("size"));//接收参数,表示进度
}
catch(Exception e)
{
e.printStackTrace();
}
Graphics graphics = image.getGraphics();
graphics.setColor(Color.green);
graphics.fillRect(0, 0, 750, 30);
graphics.setColor(Color.yellow);
graphics.fillRect(0, 0, 750 * per / 100, 30);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
out.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
web.xml <servlet>
<servlet-name>jpegServlet</servlet-name>
<servlet-class>servlet.JPEGServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>jpegServlet</servlet-name>
<url-pattern>/picture</url-pattern>
</servlet-mapping> JSP
<jsp:include page="/picture" flush="true">
<jsp:param name="size" value="33">//这里value值当然就可以是个变量了
</jsp:inclue>访问: http://localhost:8088/工程名称/picture?size=33
struts.xml配置
<package name="stuts-test" extends="struts-default" namespace="/"> <action name="pic" class="action.PictureAction" method="createPicture"></action></package>Action:
package action;
import java.awt.Color;import java.awt.Graphics;import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;import javax.servlet.ServletOutputStream;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")public class PictureAction extends ActionSupport {
public void createPicture() throws Exception { BufferedImage image = new BufferedImage(200, 200, BufferedImage.TYPE_INT_RGB); Graphics g = image.getGraphics(); g.setColor(Color.WHITE); g.fillOval(50, 50, 100, 100);
ServletActionContext.getResponse().setContentType("image/png"); ServletOutputStream out = ServletActionContext.getResponse().getOutputStream(); ImageIO.write(image, "png", out); out.close(); }}页面:
<html><head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <title>Title</title>
<script src="jquery.js"></script> <script type="text/javascript"> $(function() { $("#ajaxImg").attr("src", "pic.action"); }); </script></head>
<body> <img id="ajaxImg" /></body></html>
struts.xml配置<package name="stuts-test" extends="struts-default" namespace="/"> <action name="pic" class="action.PictureAction" method="createPicture"></action></package>
Action:
package action;
import java.awt.Color;import java.awt.Graphics;import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;import javax.servlet.ServletOutputStream;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")public class PictureAction extends ActionSupport {
public void createPicture() throws Exception { BufferedImage image = new BufferedImage(200, 200, BufferedImage.TYPE_INT_RGB); Graphics g = image.getGraphics(); g.setColor(Color.WHITE); g.fillOval(50, 50, 100, 100);
ServletActionContext.getResponse().setContentType("image/png"); ServletOutputStream out = ServletActionContext.getResponse().getOutputStream(); ImageIO.write(image, "png", out); out.close(); }}
页面:
<html><head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <title>Title</title>
<script src="jquery.js"></script> <script type="text/javascript"> $(function() { $("#ajaxImg").attr("src", "pic.action"); }); </script></head>
<body> <img id="ajaxImg" /></body></html>**********************************************************************************
用Servlet生成动态图片,java程序生成动态图片的例子
Java代码
package servlet; //包名
import java.awt.*;
import java.awt.image.*;
import com.sun.image.codec.jpeg.*;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
public class JPEGServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("image/jpeg");
ServletOutputStream out = response.getOutputStream();
BufferedImage image = new BufferedImage(750, 30, BufferedImage.TYPE_INT_RGB);
int per = 0;
try
{
per = Integer.parseInt((String)request.getParameter("size"));//接收参数,表示进度
}
catch(Exception e)
{
e.printStackTrace();
}
Graphics graphics = image.getGraphics();
graphics.setColor(Color.green);
graphics.fillRect(0, 0, 750, 30);
graphics.setColor(Color.yellow);
graphics.fillRect(0, 0, 750 * per / 100, 30);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
out.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
web.xml <servlet>
<servlet-name>jpegServlet</servlet-name>
<servlet-class>servlet.JPEGServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>jpegServlet</servlet-name>
<url-pattern>/picture</url-pattern>
</servlet-mapping> JSP
<jsp:include page="/picture" flush="true">
<jsp:param name="size" value="33">//这里value值当然就可以是个变量了
</jsp:inclue>访问: http://localhost:8088/工程名称/picture?size=33
http://zhidao.baidu.com/question/76579507.htmlhttp://edu.codepub.com/2010/0421/22159.phphttp://cache.baidu.com/c?m=9d78d513d99b12eb0bfa950e1a67dc716d2797133dc0a11e68d5e35fe2124c31367192bf30516110948522685be90f1efdf1456f2a537eeacedf883ddebf933f2fff76692f01d816458344e48a157adc70ce07bcb258a1e9b669c2b3d2d0d95758cc51057882f48a590717c868f41533e1bb&p=c962c816d9c411a059eac83a517a&user=baidu&fm=sc&query=java%C9%FA%B3%C9%CD%BC%C6%AC&qid=ece03cee0c50334c&p1=13
http://cache.baidu.com/c?m=9d78d513d99b12eb0bfa950e1a67dc716d2797133dc0a11e68d5e35fe2124c31367192bf30516110948522685be90f1efdf1456f2a597ba09bbfd81986edd53f2fff76692f01de12568053e8970c629d3dc004b4fa04bcfca76d8ef984d18e54009c07077cd6fb805d07169b3ea04032b0a4ce5f15284afcb26e&p=8371d210c89c12a05ebd9b7e0b59&user=baidu&fm=sc&query=java%C9%FA%B3%C9%CD%BC%C6%AC&qid=ece03cee0c50334c&p1=11