Post

Visualizzazione dei post con l'etichetta compressione

Comprimere e convertire immagini in JPG

DOMANDA: Come convertire un'immagine in JPG in Java? RISPOSTA: Java  mette a disposizione diversi oggetti che permettono la conversione di un'immagine in JPG/JPEG e anche la regolazione della compressione (e quindi della qualità). Guardiamo l'esempio TestCompressione , opportunamente commentato per capire tutti i passaggi da intraprendere: package immagini; import java.awt.image.*; import java.io.*; import java.util.Iterator; import javax.imageio.*; import javax.imageio.stream.FileImageOutputStream; import javax.swing.JFileChooser; public class TestCompressione { public static void main(String args[]) throws Exception { BufferedImage immagine = null; // Seleziono il file con finestra di dialogo JFileChooser fileScelto = new JFileChooser("C:\\"); int selezione = fileScelto.showDialog(null, "Seleziona il file da aprire"); if(selezione == JFileChooser.APPROVE_OPTION) immagine = ImageIO.read(fileScelto.getSelectedFile(

Creare file compressi/zippati

DOMANDA: Posso creare un file .zip o un file compresso in Java? RISPOSTA: Nella classe Compress qui di seguito, vi mostro quanto è semplice comprimere un'intera directory: package compressione; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; public class Compress {  public static void compress(File f,                              String path,                              ZipOutputStream zos)                throws IOException {     boolean isDirectory = f.isDirectory();     //le directory terminano con "/", altrimenti sono file     final String nextPath = path +                             f.getName() +                            (isDirectory ? "/" : "" );       ZipEntry zipEntry = new ZipEntry(nextPath);     zos.putNextEntry(zipEntry);     if (isDirectory) {         File[] child = f.listFiles()