Ridimensiona l'immagine utilizzando il ridimensionatore di immagini Java

Gli editor di immagini forniscono una funzione di ridimensionamento che ti consente di modificare le dimensioni delle immagini secondo le tue esigenze. Durante la progettazione di un editor di immagini o l’elaborazione di immagini dall’interno delle applicazioni Java, potrebbe essere necessario ridimensionare le immagini in modo programmatico. Per fare ciò, questo articolo spiega come ridimensionare le immagini in Java. Inoltre, imparerai anche come ridimensionare le immagini utilizzando diverse tecniche di ridimensionamento.

API Java per ridimensionare le immagini

Aspose.Imaging for Java è un’API di elaborazione delle immagini ampiamente utilizzata che consente di manipolare le immagini abbastanza facilmente. Useremo questa API per ridimensionare le immagini in questo articolo. Puoi scaricare l’API dalla sezione download. Inoltre, puoi installarlo da Maven usando la seguente configurazione in pom.xml.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-imaging-java</artifactId>
    <version>21.12</version>
    <classifier>jdk16</classifier>
</dependency>

Ridimensiona le immagini raster in Java

Aspose.Imaging per Java offre due modi per ridimensionare le immagini raster. Uno è il semplice ridimensionamento in cui fornisci l’altezza e la larghezza dell’immagine risultante. Considerando che, nel secondo metodo, specifichi anche un tipo di ridimensionamento che indica all’API la tecnica di ridimensionamento da utilizzare, come Lanczos Resampling, Nearest Neighbor Resampling, ecc. Nelle sezioni seguenti, discuteremo come implementare ciascuno dei questi metodi per ridimensionare le immagini.

Ridimensiona un’immagine con ridimensionamento semplice

In questo metodo di ridimensionamento, devi solo fornire le dimensioni dell’immagine risultante. Di seguito sono riportati i passaggi per ridimensionare un’immagine in Java.

  • Per prima cosa, usa la classe Image per caricare l’immagine che vuoi ridimensionare.
  • Quindi, chiama il metodo Image.resize(int, int) per ridimensionare l’immagine.
  • Infine, salva l’immagine risultante usando il metodo Image.save(string).

Il frammento di codice seguente ridimensiona un’immagine all’altezza e alla larghezza fornite.

// Carica immagine
Image image = Image.load("aspose-logo.jpg");

// Definisci nuove dimensioni
image.resize(300, 300);

// Salva immagine
image.save("SimpleResizing_out.jpg");

Ridimensiona l’immagine usando un tipo di ridimensionamento

Aspose.Imaging per Java fornisce un’ampia gamma di tecniche di ridimensionamento, che sono elencate qui. Puoi sceglierne uno adatto al tuo scenario. Ad esempio, Lanczos Resampling è consigliato per il ridimensionamento dell’immagine di qualità, tuttavia funziona più lentamente. Considerando che, per il ridimensionamento rapido Nearest Neighbor Resampling viene utilizzato, tuttavia, compromette la qualità dell’immagine. Di seguito sono riportati i passaggi per ridimensionare un’immagine utilizzando una particolare tecnica di ridimensionamento.

Nell’esempio di codice seguente viene illustrato come ridimensionare un’immagine utilizzando una particolare tecnica di ridimensionamento.

// Carica immagine
Image image = Image.load("aspose-logo.jpg");

// Definisci nuove dimensioni e ridimensiona il tipo
image.resize(300, 300, ResizeType.LanczosResample);

// Salva immagine
image.save("SimpleResizing_out.jpg");

Ridimensionamento proporzionale dell’immagine in Java

Le proporzioni vengono calcolate durante il ridimensionamento delle immagini per evitare immagini risultanti rimpicciolite o ridimensionate. Tuttavia, qualsiasi errore di calcolo delle proporzioni può causare immagini allungate. Per eliminare tali problemi, puoi lasciare che l’API si occupi delle proporzioni stesse. Di seguito sono riportati i passaggi per ridimensionare un’immagine in modo proporzionale.

Puoi anche specificare un particolare tipo di ridimensionamento durante il ridimensionamento dell’immagine in modo proporzionale usando i metodi di overload Image.resizeWidthProportionally(int, ResizeType) e Image.resizeHeightProportionally(int, ResizeType).

L’esempio di codice Java seguente mostra come ridimensionare un’immagine in modo proporzionale.

// Carica immagine
Image image = Image.load("aspose-logo.jpg");

// Definisci nuove dimensioni
int newWidth = image.getWidth() / 2;
image.resizeWidthProportionally(newWidth);
int newHeight = image.getHeight() / 2;
image.resizeHeightProportionally(newHeight);

// Salva immagine
image.save("SimpleResizing_out.jpg");

Ridimensionamento delle immagini vettoriali in Java

Puoi anche ridimensionare un’immagine vettoriale e salvarla in un formato immagine raster come PNG, JPEG, GIF, ecc. Il codice seguente mostra come ottenerlo in Java usando Aspose.Imaging.

// Carica immagine vettoriale
try (Image image = Image.load("image.svg"))
{
  	// Definisci nuove dimensioni
	image.resize(image.getWidth() * 10,image.getHeight() * 15);
  
  	// Salva l'immagine come PNG
	image.save("Logotype_10_15.png", new PngOptions());
}

Ottieni una licenza API gratuita

Puoi utilizzare Aspose.Imaging per Java senza limitazioni di valutazione ottenendo una licenza temporanea gratuita.

Conclusione

In questo articolo, hai imparato come ridimensionare le immagini a livello di codice in Java. Inoltre, l’articolo ha spiegato come ridimensionare le immagini utilizzando diverse tecniche come Lanczos Resampling, Nearest Neighbor Resampling, ecc. Inoltre, vengono discussi anche il ridimensionamento proporzionale delle immagini e il ridimensionamento delle immagini vettoriali. Puoi visitare la documentazione per saperne di più sull’API di elaborazione delle immagini Java. Inoltre, puoi imparare dagli esempi di codice sorgente disponibili su GitHub. In caso di domande, puoi contattarci al nostro forum.

Guarda anche