Elaborazione e manipolazione delle immagini Java Open Source
La principale libreria open source per la modifica e la manipolazione delle immagini Java consente di leggere, scrivere, manipolare e convertire formati ampiamente utilizzati come PNG, JPEG, BMP, TIFF, ICO e altri ancora.
Cos'è Apache Commons Imaging?
Apache Commons Imaging, precedentemente nota come Sanselan, è una potente libreria Java open source sviluppata nell'ambito del progetto Apache Commons. Fa parte del più ampio progetto Apache Commons e offre agli sviluppatori software un modo efficiente per leggere e scrivere una varietà di formati di immagini senza affidarsi a librerie esterne. Gli sviluppatori software possono gestire un'ampia varietà di formati di immagini, semplificando attività come la lettura e la scrittura di immagini, la conversione in altri formati, la gestione dei metadati delle immagini, il rendering personalizzato delle immagini, i modelli di colore delle immagini, la manipolazione delle immagini e così via. La flessibilità della libreria la rende ideale per le applicazioni che richiedono l'elaborazione delle immagini senza affidarsi a dipendenze esterne. La libreria fornisce una varietà di filtri per le immagini, tra cui sfocatura, nitidezza e rilevamento dei bordi.
Apache Commons Imaging è una libreria robusta e versatile che semplifica il processo di lavoro con i file di immagini nelle applicazioni Java. È una libreria basata su Java che supporta più formati di immagini come PNG, JPEG, BMP, GIF, TIFF, ICO e così via. Inoltre, offre strumenti per l'analisi delle immagini, tra cui calcolo dell'istogramma, conversione dello spazio colore e segmentazione delle immagini. È una scelta ideale per sviluppatori, ricercatori e appassionati. La libreria offre un'API efficiente e semplice da usare per la manipolazione delle immagini, che può essere particolarmente utile in ambienti con risorse limitate. Che tu stia lavorando a un progetto che richiede l'elaborazione delle immagini o che tu voglia semplicemente sperimentare la manipolazione delle immagini, Apache Commons Imaging vale sicuramente la pena di essere esplorato.
Introduzione ad Apache Commons Imaging
Il metodo consigliato per installare Apache Commons Imaging è tramite Maven Repository. Per un'installazione senza problemi, utilizzare il seguente comando.
Repository Maven per Apache Commons Imaging
<repositories>
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://releases.aspose.com/java/repo/</url>
</repository>
</repositories>
//Define Aspose.PDF for Java API Dependency
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-imaging</artifactId>
<version>1.0.0-alpha5</version>
</dependency>
</dependencies>
Installa Apache Commons Imaging tramite GitHub
go get -u https://github.com/apache/commons-imaging.git
È possibile scaricare la libreria direttamente dalla pagina del prodotto GitHub
Conversione delle immagini all'interno delle app Java
I diagrammi archiviati in un formato (ad esempio, PNG) potrebbero dover essere convertiti in un altro formato (ad esempio, BMP o JPEG) per motivi di compatibilità o ottimizzazione. Apache Commons Imaging offre funzionalità di conversione, consentendo agli sviluppatori di convertire vari formati di file immagine tra formati supportati senza sforzo. L'esempio seguente mostra con quanta facilità gli sviluppatori di software possono convertire un file PNG nel formato BMP. Il processo è semplice e può gestire conversioni tra qualsiasi formato supportato, rendendolo ideale per le applicazioni che hanno bisogno di salvare immagini in più formati per motivi di compatibilità.
Come convertire un file PNG in formato file BMP tramite Java API?
File inputFile = new File("diagram.png");
BufferedImage image = Imaging.getBufferedImage(inputFile);
File outputFile = new File("converted_image.bmp");
Imaging.writeImage(image, outputFile, ImageFormats.BMP, null);
Manipolazione delle immagini tramite libreria Java
Apache Commons Imaging può essere utilizzato in combinazione con altre librerie Java come BufferedImage per eseguire comuni trasformazioni delle immagini come ridimensionamento, ritaglio e ridimensionamento. Il metodo Scalr.resize() da un'altra libreria di elaborazione delle immagini Java (imgscalr) viene utilizzato per il ridimensionamento, seguito dal salvataggio dell'immagine ridimensionata tramite Apache Commons Imaging. Ciò consente un'integrazione senza soluzione di continuità con altre librerie Java per la manipolazione avanzata delle immagini.
Come ridimensionare un'immagine all'interno delle app Java?
BufferedImage originalImage = Imaging.getBufferedImage(new File("sample_image.png"));
BufferedImage resizedImage = Scalr.resize(originalImage, 300); // Resize width to 300px
File outputFile = new File("resized_image.png");
Imaging.writeImage(resizedImage, outputFile, ImageFormats.PNG, null);
Estrazione metadati immagine tramite API Java
Una delle caratteristiche principali di Apache Commons Imaging è la sua capacità di estrarre metadati dalle immagini all'interno di applicazioni Java. Per i diagrammi, questi metadati potrebbero contenere informazioni utili come la data di creazione, la cronologia delle modifiche o i dettagli dell'autore. Questa capacità consente agli sviluppatori di elaborare le immagini dei diagrammi in modi che vanno oltre la semplice visualizzazione. L'esempio seguente mostra come gli sviluppatori software possono estrarre metadati dalle immagini all'interno di applicazioni Java.
Come estrarre i metadati dalle immagini tramite Java API?
File imageFile = new File("diagram.png");
ImageInfo imageInfo = Imaging.getImageInfo(imageFile);
System.out.println("Format: " + imageInfo.getFormat());
System.out.println("Width: " + imageInfo.getWidth());
System.out.println("Height: " + imageInfo.getHeight());
Rendering personalizzato delle immagini nelle app Java
Gli sviluppatori di software possono usare Apache Commons Imaging per generare immagini al volo o modificare quelle esistenti all'interno delle applicazioni Java. Combinando la libreria con Graphics2D nativo di Java, è possibile disegnare sulle immagini in modo programmatico o aggiungere annotazioni. Il seguente esempio di codice crea un'immagine vuota, vi aggiunge del testo e la salva come file PNG. Dimostra come Apache Commons Imaging può funzionare con le API di disegno di Java per generare immagini da zero.
Come generare immagini da zero tramite Java?
BufferedImage image = new BufferedImage(400, 300, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = image.createGraphics();
graphics.setPaint(Color.WHITE);
graphics.fillRect(0, 0, image.getWidth(), image.getHeight());
graphics.setPaint(Color.BLACK);
graphics.setFont(new Font("Arial", Font.BOLD, 20));
graphics.drawString("Custom Diagram", 100, 150);
graphics.dispose();
File outputFile = new File("custom_image.png");
Imaging.writeImage(image, outputFile, ImageFormats.PNG, null);