评论

收藏

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

开发技术 开发技术 发布于:2021-10-24 20:16 | 阅读数:276 | 评论:0

Imaging_ToWeb.jsp
<%@ 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[lion-a@sohu.com]",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();
    }
%>


关注下面的标签,发现更多相似文章