• 3309阅读
  • 0回复

将JSP在内存生成的图片显示到页面 [复制链接]

上一主题 下一主题
离线plmm
 
只看楼主 倒序阅读 0楼 发表于: 2005-05-07
<%@ page autoFlush="false" import="java.awt.*,java.awt.image.*,com.sun.image.codec.jpeg.*,java.util.*"%>
<%
  String ImageStr = request.getParameter("ID_Text");
  if(ImageStr==null || ImageStr.equals(""))
  {
    response.setContentType("text/html; charset=gb2312");
%>
<HTML>
<HEAD>
<title>Http://www.lionsky.net</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</HEAD>
<body>
<form id="Form1" method="post">
  <input type="text" id="ID_Text" name=ID_Text>
  <input type=submit value="GO">
</form>
</body>
</HTML>

<%
    }
    else
    {
    out.clear();
    response.setContentType("image/jpeg");
    response.addHeader("pragma","NO-cache");
    response.addHeader("Cache-Control","no-cache");
    response.addDateHeader("Expries",0);
    int width=300, height=100;
    BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
    Graphics g = image.getGraphics();
    //以下填充背景颜色
    g.setColor(Color.lightGray);
    g.fillRect(0, 0, width, height);
    String random="random";
    //以下设置前景色
    g.setColor(Color.BLACK);
    g.drawString("Http://www.knowsky.com",10,20);
    g.drawString("Author:Lion[[email protected]]",10,40);
    g.drawLine(10,50,290,50);
    g.drawString(ImageStr,10,70);
    g.dispose();
    ServletOutputStream outStream = response.getOutputStream();
    JPEGImageEncoder encoder =JPEGCodec.createJPEGEncoder(outStream);
    encoder.encode(image);
    outStream.close();
  }

%>
快速回复
限100 字节
 
上一个 下一个