After determining where the files are and how to move them into another folder as I showed in my previous post Howto create a set of files on the fly, It is fun to resize the files which are images in this case (makes it easier).
The problem:
We have a set of images, which might change and dont want to resize them by hand everytime.
The solution:
The solution lies hidden in Java as many times. The following example shows howto resize:
private void createIcons(String path){
int width=100;
int height = 100;
File imageInput = File(path);
ImageIcon imageIcon = new ImageIcon(path);
BufferedImage imageResize =
new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics2d = imageResize.createGraphics();
graphics2d.addRenderingHints(
}
new RenderingHints(RenderingHints.KEY_RENDERING,RenderingHints.VALUE_RENDER_QUALITY));
graphics2d.drawImage(imageIcon.getImage(), 0, 0, height, width,
null);
String iconName = path.replaceAll(
IMAGES, ICONS);
try {
ImageIO.write(imageResize,
"png", new File(iconName));
}
catch (IOException ioe) {
LOGGER.error("The image " + iconName + " could not be saved!");
}
In my previous post I had a line "String filePath =path.replace(IMAGES, ICONS); " all you have to do is to replace that line with: "createIcons(image.getAbsolutePath());" and you be on your way with a full subset of folders and resized images. The only kind of images I had it never working with was BMP.
A working version or the sources you can download from:
http://sourceforge.net/projects/imageicon/files/imageicon-1.0-SOURCES.jar/download
Or check out the sources from:
ssh://git.code.sf.net/p/imageicon/code
have fun.
Geen opmerkingen:
Een reactie posten