// description of your code here


// ScalingReader transformReader = new ScalingReader() {
Component component = new JPanel();
MediaTracker mediaTracker = new MediaTracker(component);
public Image create(Dimension originalSize,Dimension maxSize) throws Throwable {
Dimension newSize = Scaling.scaleDimensionsProportionally(originalSize, maxSize);

URL url = getImageURL();
Image image = Toolkit.getDefaultToolkit().createImage(url);
mediaTracker.addImage(image, 0);
mediaTracker.waitForAll();

BufferedImage thumbnail = new BufferedImage(newSize.width, newSize.height, BufferedImage.TYPE_INT_ARGB);
Graphics2D g = thumbnail.createGraphics();
double scale = ((double)newSize.width)/((double)originalSize.width);
g.scale(scale, scale);
g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.drawImage(image, 0, 0, null);
g.dispose();

mediaTracker.removeImage(image);
image.flush();

return thumbnail;
}

public String getName() {
return "transformReader";
}
};


Web Directory

Read more: http://feeds.dzone.com/~r/dzone/snippets/~3/f8mY2BRUf9w/13405