Dato che ho utilizzato questo codice per un programma che sto scrivendo ho pensato di postarlo qui sul forum,arrichendo un po' questa sezione.Il codice che vedrete di seguito ha la funzione di ridimensionare un'immagine utilizzando le librerie JIMI (link per il download).Il codice che ho usato per poter ridimensionare a nostro piacimento le immagini è il seguente:
Il metodo resize() richiede 2 parametri di tipo String e un parametro di tipo int: imageLocation,name,maxDim;imageLocation è la posizione dell'immagine (ad esempio Cciao.jpg),name è il nuovo nome da dare all'immagine (bisogna inserire nella stringa del name l'estensione dell'immagine),maxDim è il parametro delle dimensioni che avràla nuova immagine.La nuova immagine verràsalvata nella cartella dove risiede il nostro source.
Che dire,se volete dei chiarimenti aggiuntivi sul codice basta chiedere
Codice:
import com.sun.jimi.core.raster.JimiRasterImage;
import com.sun.jimi.core.*;
import javax.swing.*;
import java.awt.*;
import java.io.*;
public class ImageResizer{
public ImageResizer(){}
public void resize(String imageLocation,String name,int maxDim){
try{
Image inImage=new ImageIcon(imageLocation).getImage();
//
double scale=(double)maxDim/(double)inImage.getHeight(null);
if (inImage.getWidth(null)>inImage.getHeight(null)){
scale=(double)maxDim/(double)inImage.getWidth(null);
}
int scaledW=(int)(scale*inImage.getWidth(null));
int scaledH=(int)(scale*inImage.getHeight(null));
Image img=inImage.getScaledInstance(scaledW,scaledH,Image.SCALE_SMOOTH);
File outputFile=new File(name);
outputFile.delete();
JimiRasterImage raster=Jimi.createRasterImage(img.getSource());
FileOutputStream fos=new FileOutputStream(outputFile);
Jimi.putImage("image/jpeg",raster,fos);
fos.flush();
fos.close();
}
catch(Throwable t){
System.out.println(t.getMessage());
}
}
}
Il metodo resize() richiede 2 parametri di tipo String e un parametro di tipo int: imageLocation,name,maxDim;imageLocation è la posizione dell'immagine (ad esempio Cciao.jpg),name è il nuovo nome da dare all'immagine (bisogna inserire nella stringa del name l'estensione dell'immagine),maxDim è il parametro delle dimensioni che avràla nuova immagine.La nuova immagine verràsalvata nella cartella dove risiede il nostro source.
Che dire,se volete dei chiarimenti aggiuntivi sul codice basta chiedere