/* Written by Aaron Porter on 12/4/1998 This class demonstrates how to derive a class from GifServlet and dynamically create an image. aaron_porter@hotmail.com */ import java.awt.*; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import com.mongus.servlet.GifServlet; import com.mongus.util.ServletTools; public class ImageExample extends GifServlet { protected long getCacheLifespan() { return 3600; // 1 hour (3600 seconds in one hour) } public Dimension getImageSize(HttpServletRequest request) { return new Dimension(ServletTools.getIntParameter(request, "width", 50), ServletTools.getIntParameter(request, "height", 50)); } public void paint(Graphics graphics, HttpServletRequest request) { // Setup the colors Color transparent = ServletTools.getColorParameter(request, "transparent", Color.magenta); Color background = ServletTools.getColorParameter(request, "background", Color.yellow); Color foreground = ServletTools.getColorParameter(request, "foreground", Color.black); // Get the requested image size Dimension imageSize = getImageSize(request); // Set the transparent color to magenta setTransparentColor(transparent); // Draw our pretty picture :-) graphics.setColor(transparent); graphics.fillRect(0, 0, imageSize.width, imageSize.height); graphics.setColor(background); graphics.fillOval(0, 0, imageSize.width - 1, imageSize.height - 1); graphics.setColor(foreground); graphics.drawOval(0, 0, imageSize.width - 1, imageSize.height - 1); int eyeHeight = imageSize.height / 6; int eyeWidth = imageSize.width / 6; graphics.fillOval(imageSize.width / 2 - (int)(eyeWidth * 1.5), eyeHeight * 2, eyeWidth, eyeHeight); graphics.fillOval(imageSize.width / 2 + (int)(eyeWidth * .5), eyeHeight * 2, eyeWidth, eyeHeight); graphics.drawArc(imageSize.width / 2 - (int)(eyeWidth * 1.5), imageSize.height / 2, eyeWidth * 3, imageSize.height / 3, 180, 180); } }