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
____________________________________________________