Riduzione delle dimensioni di un file immagine

In un task di Open Hospital mi รจ stato chiesto di ridimensionare i file delle immagini dei profili dei pazienti prima di procedere al salvataggio. In OH le fotografie dei profili possono essere salvate sia in DB che sul file system. Ho trovato la libreria im4java, la quale, oltre a consentire le classiche operazioni sulle immagini, permette anche di ridimensionare un’immagine in modo tale che la dimensione del file non superi un certo limite di Kb.

In pratica…

Aggiungere la dipendenza dentro il pom:

		<dependency>
			<groupId>org.im4java</groupId>
			<artifactId>im4java</artifactId>
			<version>1.4.0</version>
		</dependency>

Fare una prova:

package com.test.test;

import java.io.IOException;

import org.im4java.core.ConvertCmd;
import org.im4java.core.IM4JavaException;
import org.im4java.core.IMOperation;

public class Main {

	public static void main(String[] args) throws IOException, InterruptedException, IM4JavaException {
		 IMOperation op = new IMOperation();
		 //op.resize(500, 500, '>');
		 //op.quality(85.0); // jpeg quality (%)
		 op.strip(); 
		 op.interlace("Plane");
		 op.define("jpeg:extent=5kb");
		 op.addImage("/home/j/Scrivania/originale.jpg"); // original file
		 op.addImage("/home/j/Scrivania/nuova_m.jpg"); // destination
		 
		 ConvertCmd convert = new ConvertCmd();
		 convert.run(op);
	}

}
Chinese (Simplified) Chinese (Simplified) Dutch Dutch English English French French German German Italian Italian Russian Russian