HttpServletRequest req;
HttpServletResponse res;
Frame frame=new Frame();
Graphics g=null;
ServletOutputStream out=res.getOutputStream();
frame.addNotify();
Image image=frame.createImage(400,60);
g=image.getGraphics();
g.setFont(new Font("Serif",Font.ITALIC,48));
g.drawString("Hello World!",10,50);
res.setContentType("image/gif");
然后怎么将Hello World这个图像在servlet中输出.

解决方案 »

  1.   

    public class CreateImageServlet extends HttpServlet {
        private Graphics2D g2 = null;    protected void doGet(HttpServletRequest request,
                             HttpServletResponse response) throws ServletException,
                IOException {
            response.setContentType("image/jpeg");
            createImage(response.getOutputStream());
        }    private void createImage(OutputStream out) throws IOException {
            Image image1;
           
            int width = 800;
            int height = 600;
                   BufferedImage bi = new BufferedImage(width, height,
                                                 BufferedImage.TYPE_INT_RGB);
            g2 = bi.createGraphics();
    URL urlPic = new URL("http://www.yxdown.com/uploadImages/920467_20040817_screen001.jpg");        Image image1 = Toolkit.getDefaultToolkit().getImage(urlPic);
            g2.drawImage(image1, 0, 0, 800, 600, null);
                                   g2.dispose();
            bi.flush();        JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
            JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bi);
            param.setQuality(1.0f, false);
            encoder.setJPEGEncodeParam(param);
           
            try {
                encoder.encode(bi);
            } catch (IOException ioe) {
                ioe.printStackTrace();
            }
        }
    }
      

  2.   

    记得好象可以用BufferdeImage类,然后创建一对象,从它获取Graphics2D,设置具体画图元素,输出时用ImageIO.writer(BufferedImage image,String pictureType,OutputStream out)。
      

  3.   

    to bbx911(穿着皮夹克的山顶洞人) 
    太强了,马上结帐