In vari scenari, le immagini vengono compresse per ridurre le dimensioni del file. Per questo, diverse applicazioni online o offline consentono di applicare la compressione dell’immagine. Tuttavia, in alcuni casi, potrebbe essere necessario implementare la funzione di compressione dell’immagine dall’interno delle applicazioni Web o desktop. In questi casi, questo articolo illustra come comprimere le immagini inclusi PNG, JPEG e TIFF a livello di codice utilizzando Java.
- API di compressione delle immagini Java
- Comprimi immagini PNG in Java
- Comprimi immagini JPEG in Java
- Applica la compressione alle immagini TIFF in Java
- Ottieni una licenza API gratuita
API di compressione delle immagini Java
Aspose.Imaging for Java è una potente API che consente di eseguire varie operazioni di elaborazione delle immagini dall’interno delle applicazioni Java. Inoltre, ti consente di comprimere senza problemi immagini PNG, JPEG e TIFF. Per utilizzare l’API, puoi scaricare il suo JAR o installarlo all’interno delle tue applicazioni basate su Maven.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>20.12</version>
<classifier>jdk16</classifier>
</dependency>
Comprimi immagini PNG in Java
Il formato PNG supporta una compressione senza perdita di dati, il che significa che la compressione di un’immagine PNG ridurrà le dimensioni del file ma non la qualità. Per le immagini PNG, Aspose.Imaging per Java consente di impostare i livelli di compressione da 0 a 9 dove 0 e 9 sono rispettivamente i livelli di compressione minimo e massimo. Di seguito sono riportati i passaggi per comprimere un’immagine PNG utilizzando Java.
- Innanzitutto, carica l’immagine PNG usando la classe Image.
- Crea un’istanza della classe PngOptions.
- Imposta il livello di compressione usando il metodo PngOptions.setCompressionLevel(int).
- Infine, salva l’immagine PNG compressa usando il metodo Image.save(String, PngOptions).
L’esempio di codice seguente mostra come comprimere un’immagine PNG utilizzando Java.
// Carica un'immagine da file (o stream)
Image image = Image.load("aspose_logo.png");
// Loop su un possibile intervallo di livelli di compressione
for (int i = 0; i <= 9; i++) {
// Crea un'istanza di PngOptions per ogni PNG risultante
PngOptions options = new PngOptions();
// Imposta il livello di compressione
options.setCompressionLevel(i);
// Salva il risultato su disco (o stream)
image.save("CompressingFiles_out" + i + ".png", options);
}
Comprimi le immagini JPEG usando Java
Per la compressione di immagini JPEG, Aspose.Imaging per Java fornisce i seguenti tipi di compressione.
- Linea di base
- Progressivo
- Senza perdita
- JPEG
Di seguito sono riportati i passaggi per applicare uno dei tipi di compressione sopra menzionati alle immagini JPEG utilizzando Java.
- Innanzitutto, carica l’immagine JPEG utilizzando la classe Image.
- Crea un’istanza della classe JpegOptions.
- Impostare il livello di compressione utilizzando il metodo JpegOptions.setCompressionType(JpegCompressionMode).
- Infine, salva l’immagine JPEG compressa usando il metodo Image.save(String, JpegOptions).
L’esempio di codice seguente mostra come comprimere le immagini JPEG utilizzando Java.
// Carica immagine
Image original = Image.load("Input.jpeg");
try
{
JpegOptions jpegOptions = new JpegOptions()
{{
// Applicare la compressione
setCompressionType(JpegCompressionMode.Progressive);
}};
// Salva immagine compressa
original.save("result.jpg", jpegOptions);
}
finally
{
original.dispose();
}
Comprimi le immagini TIFF usando Java
Aspose.Imaging per Java fornisce una varietà di tipi di compressione TIFF che includono LZW, Packbits, CCIT Fax 3 e 4 e così via. Pertanto, è possibile selezionare il tipo di compressione più adatto alle proprie esigenze. Di seguito sono riportati i passaggi per eseguire la compressione TIFF utilizzando Java.
- Innanzitutto, carica l’immagine TIFF utilizzando la classe Image.
- Crea un’istanza della classe TiffOptions.
- Impostare il livello di compressione utilizzando il metodo TiffOptions.setCompression(TiffCompressions).
- Imposta altre opzioni come bit per campione, fotometrico, tavolozza, ecc.
- Infine, salva l’immagine TIFF compressa usando il metodo Image.save(String, TiffOptions).
L’esempio di codice seguente mostra come comprimere le immagini TIFF utilizzando Java.
// Carica un'immagine tramite il percorso del file o il flusso
try (Image image = Image.load("sample.tiff"))
{
// Crea un'istanza di TiffOptions per l'immagine risultante
TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);
// Impostare BitsPerSample, Compressione, Modalità fotometrica e tavolozza in scala di grigi
outputSettings.setBitsPerSample(new int[] { 4 });
outputSettings.setCompression(TiffCompressions.Lzw);
outputSettings.setPhotometric(TiffPhotometrics.Palette);
outputSettings.setPalette(ColorPaletteHelper.create4BitGrayscale(false));
image.save("SampleTiff_out.tiff", outputSettings);
}
Ottieni una licenza API gratuita
Nel caso in cui desideri provare l’API senza limitazioni di valutazione, puoi ottenere una licenza temporanea gratuita.
Conclusione
La compressione delle immagini è spesso necessaria per ridurre le dimensioni delle immagini. Pertanto, questo articolo ha spiegato come comprimere immagini PNG, JPEG e TIFF a livello di codice utilizzando Java. Inoltre, puoi esplorare di più sull’API di elaborazione delle immagini Java utilizzando documentazione.
Guarda anche
Info: Aspose ha recentemente sviluppato una nuova web app online che consente di trasformare un insieme di immagini in un video. Potresti anche essere interessato a un altro servizio che può essere utilizzato per comprimere i video estraendo i suoni dai video.