Usa imageMagic librerie Java come im4java, le loro prestazioni e la qualità è molto meglio allora JAI
ad esempio:
import org.im4java.core.ConvertCmd;
import org.im4java.core.IMOperation;
public static void convertTifToPng(File inputImage, File outputImage){
IMOperation op = new IMOperation();
op.addImage(); //place holder for input file
op.addImage(); //place holder for output file
ConvertCmd convert = new ConvertCmd();
convert.run(op, new Object[]{inputImage.getAbsolutePath(), outputImage.getAbsolutePath()});
}
dipendenza Maven per im4java è
<dependency>
<groupId>im4java</groupId>
<artifactId>im4java</artifactId>
<version>0.98.0</version>
</dependency>
Puoi spiegare cosa sta succedendo con l'installazione non standard? Solitamente le librerie Java sono solo file JAR posizionati all'interno di CLASSPATH, ma JAI installa anche DLL native. Come funziona se si esegue la distribuzione su un server web? –
Puoi anche ottenere JAI pure-java, ma non c'è motivo di farlo, se la tua piattaforma è supportata dal codice nativo. Se si distribuisce l'app su un server Web, anche il JRE del server deve avere anche le estensioni JAI e JAI/ImageIO installate. –
@Jonathan Feinberg, È necessario includere i JAR sul classpath o l'installazione delle estensioni lo rende parte di JRE? –