I have been told that X windows is in fact running on the server in question, but I have asked the admin to add this flag to the startup anyway. I am still awaiting the outcome, but am wondering if there is some other reason this could be happening. Do you know if there is something that is a part of java 1.4 which can accomplish the same functionality?
Thanks for the suggestion, Cameron -----Original Message----- From: Graham Stark [mailto:[EMAIL PROTECTED] Sent: Friday, August 29, 2003 9:46 AM To: Struts Users Mailing List Subject: Re: [OT] Image resizing servlet Cameron, Is X Windows running on your Linux box? If not, add: -Djava.awt.headless=true to the startup options of your web container. Graham > As part of my content management system, I need to be able to generate > thumbnails from existing JPEG files located on the filesystem. A simple > chunk of code I found uses the java.awt package to handle this nicely, > but when I moved the compiled classes from my windowsXP testing machine > to a linux server, it no longer worked. The code I have been using > employs the (apparently) deprecated Toolkit class. > > I have seen that things like JAI and ImageMagick can accomplish this > task, but it seems like overkill for something that is so simple, and > should be available as part of the core Java distribution. > > Does anyone employ simple code that accomplishes the functionality > implied by: > > generateThumbnail(String inFile, String outFile, String sizePercent) > > to create and save a jpeg to the filesystem at a different size? > > > > The code that I have been using is: > > makeThumbnail(String inFile, String thumbFile, String th, String > inQuality) throws Exception { > > Image image = Toolkit.getDefaultToolkit().getImage(inFile); > MediaTracker mediaTracker = new MediaTracker(new Container()); > mediaTracker.addImage(image, 0); > mediaTracker.waitForID(0); > > int imageWidth = image.getWidth(null); > int imageHeight = image.getHeight(null); > double imageRatio = (double)imageWidth / (double)imageHeight; > > int thumbHeight = Integer.parseInt(th); > int thumbWidth = (int)(thumbHeight * imageRatio); > > // draw original image to thumbnail image object and > // scale it to the new size on-the-fly > > BufferedImage thumbImage = new BufferedImage(thumbWidth, thumbHeight, > BufferedImage.TYPE_INT_RGB); > Graphics2D graphics2D = thumbImage.createGraphics(); > > graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION,RenderingHi > nts.VALUE_INTERPOLATION_BILINEAR); > graphics2D.drawImage(image, 0, 0, thumbWidth, thumbHeight, null); > // save thumbnail image to OUTFILE > BufferedOutputStream out = new BufferedOutputStream(new > FileOutputStream(thumbFile)); > JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); > JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(thumbImage); > int quality = Integer.parseInt(inQuality); > quality = Math.max(0, Math.min(quality, 100)); > param.setQuality((float)quality / 100.0f, false); > encoder.setJPEGEncodeParam(param); > encoder.encode(thumbImage); > > } > > > > it throws the following exception (only when executed on a linux server) > : > > > java.lang.NoClassDefFoundError > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:141) > at java.awt.Toolkit$2.run(Toolkit.java:748) > at java.security.AccessController.doPrivileged(Native Method) > at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:739) > > Thanks for any advice... > > Cameron > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > -- Graham Stark, Virtual Worlds phone: (+044) 01908 618239 mobile: 07952 633185 Homepage http://www.virtual-worlds.biz Virtual Learning Arcade http://www.bized.ac.uk/virtual/vla Virtual Economy http://www.bized.ac.uk/virtual/economy --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

