This is a starting point if you want it. I'm not using it, as it sucks.

package com.enigmastation.memery.servlets;

import com.sun.image.codec.jpeg.JPEGImageEncoder;
import com.sun.image.codec.jpeg.JPEGCodec;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.IOException;
import java.io.OutputStream;
import java.io.FileOutputStream;
import java.awt.image.BufferedImage;
import java.awt.*;
import java.awt.font.TextLayout;
import java.awt.font.FontRenderContext;
import java.awt.font.LineMetrics;
import java.util.HashMap;

public class PanelTitleServlet extends HttpServlet {
    protected int getIntParameter(HttpServletRequest req, String name, int 
defaultValue) {
        int retVal=defaultValue;
        String v=req.getParameter(name);
        if(!(v==null || "".equals(v))) {
            int t=0;
            try {
                t=Integer.parseInt(v);
                retVal=t;
            } catch(NumberFormatException nfe) {
            }
        }
        return retVal;
    }
    protected String getStringParameter(HttpServletRequest req, String name, 
String defaultValue) {
        String retVal=defaultValue;
        String p=req.getParameter(name);
        if(!(p==null || "".equals(p))) {
            retVal=p;
        }
        return retVal;
    }
    HashMap colourMap;

    {
        colourMap=new HashMap();
        colourMap.put("white", Color.WHITE);
        colourMap.put("green", Color.GREEN);
        colourMap.put("black", Color.BLACK);
        colourMap.put("blue", Color.BLUE);
        colourMap.put("cyan", Color.CYAN);
        colourMap.put("dark_gray", Color.DARK_GRAY);
        colourMap.put("dark_grey", Color.DARK_GRAY);
        colourMap.put("light_gray", Color.LIGHT_GRAY);
        colourMap.put("light_grey", Color.LIGHT_GRAY);
    }
    protected Color getColor(HttpServletRequest req, String name, Color 
defaultColour) {
        Color retVal=defaultColour;
        String cName=req.getParameter(name);
        if(cName!=null && !"".equals(cName)) {
            retVal=(Color)colourMap.get(cName);
        }
        return retVal;
    }
    protected void doGet(HttpServletRequest request, HttpServletResponse 
response)
            throws ServletException, IOException {
        int width=getIntParameter(request, "width", 154);
        int height=getIntParameter(request, "height", 40);
        String text=getStringParameter(request, "text", "Hello!");
        String fontName=getStringParameter(request, "font", "Tahoma");
        int fontSize=getIntParameter(request, "fontsize", 12);
        /*RenderingHints rh=new 
RenderingHints(RenderingHints.KEY_ANTIALIASING,
                RenderingHints.VALUE_ANTIALIAS_ON);
        rh.put(RenderingHints.KEY_RENDERING, 
RenderingHints.VALUE_RENDER_QUALITY);
        */
        /*
        System.out.println("width  : "+width);
        System.out.println("height : "+height);
        System.out.println("font   : "+fontName);
        System.out.println("text   : "+text);
        */
        response.setContentType("image/jpeg");
        OutputStream out=response.getOutputStream();

        JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(out);

        BufferedImage image=new 
BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
        Graphics2D g=image.createGraphics();
        //g.setRenderingHints(rh);

        g.setColor(getColor(request, "background", Color.WHITE));
        g.fillRect(0,0,width,height);
        g.setColor(getColor(request, "shape", Color.BLACK));
        g.fillOval(0,0,width, height*2);

        GraphicsEnvironment 
gr=GraphicsEnvironment.getLocalGraphicsEnvironment();
        Font font=null;
        font=new Font(fontName, Font.BOLD, fontSize);

        //System.out.println(font);
        FontRenderContext frc=g.getFontRenderContext();
        TextLayout tl=new TextLayout(text, font, frc);
        g.setColor(getColor(request, "textcolor", Color.cyan));
        float xpos=(width+tl.getAdvance())/2-tl.getAdvance();
        //g.drawString(text, 5, 15);
        tl.draw(g, xpos, (float)(height-3));
        encoder.encode(image);

        out.close();
    }


    protected void doPost(HttpServletRequest httpServletRequest, 
HttpServletResponse httpServletResponse) throws ServletException, 
IOException {
        doGet(httpServletRequest, httpServletResponse);
    }
}
-----------------------------------------------
Joseph B. Ottinger       [EMAIL PROTECTED]
http://enigmastation.com          IT Consultant

_________________________________________________________________
Send and receive Hotmail on your mobile device: http://mobile.msn.com


____________________________________________________
To change your JDJList options, please visit:
http://www.sys-con.com/java/list.cfm

Be respectful! Clean up your posts before replying
____________________________________________________

Reply via email to