Hi. I am writing an Applet for viewing large (~2600x3500) tiff files. Here is my scaling method
public static BufferedImage getScaledInstance( Image img, int targetWidth, int targetHeight, Object hint, boolean higherQuality ) { long startTime = System.currentTimeMillis(); BufferedImage ret = null; int w, h; if (higherQuality) { // Use multi-step technique: start with original size, then // scale down in multiple passes with drawImage() // until the target size is reached w = img.getWidth(null); h = img.getHeight(null); } else { // Use one-step technique: scale directly from original // size to target size with a single drawImage() call w = targetWidth; h = targetHeight; } do { if (higherQuality && w > targetWidth) { w /= 2; if (w < targetWidth) { w = targetWidth; } } if (higherQuality && h > targetHeight) { h /= 2; if (h < targetHeight) { h = targetHeight; } } ret = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB); Graphics2D g2 = ret.createGraphics(); g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, hint); g2.drawImage(img, 0, 0, w, h, null); g2.dispose(); } while (w != targetWidth || h != targetHeight); long stopTime = System.currentTimeMillis(); long runTime = stopTime - startTime; System.out .println("Run time: getScaledInstance() : " + runTime + " ms"); return ret; } If I use ImageIO to read the tiff file as a BufferedImage and pass it as a source image to method, It takes ~1600ms to scale it down to ~800x600. But if I use Jimi.getImage() and get the image as a java.awt.Image type and pass in method, it takes ~800ms to scale. I wonder why bufferedimage is slower. I want to use ImageIO instead of Jimi as it supports more formats, it comes with default Jdk and Jimi seems old framework. But as I said, if I use ImageIO, I get a BufferedImage that scales slower. And I wonder if I learn and use VolatileImage, should it be faster or I will no effect for my purpose. Thanks and sorry for my bad english. [Message sent by forum member 'rahjman' (rahjman)] http://forums.java.net/jive/thread.jspa?messageID=299820 =========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA2D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".