Java Image Resizer utilizzando la libreria JIMI

Stato
Discussione chiusa ad ulteriori risposte.

R4z0r_Cr4sH

Utente Electrum
10 Giugno 2007
501
11
6
148
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:

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 C:\ciao.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 ;)
 
Stato
Discussione chiusa ad ulteriori risposte.