1. Produse
  2.   Imagine
  3.   Java
  4.   ICAFE
 
  

Biblioteca gratuită de creare și procesare a imaginilor Java

O API utilă de procesare a imaginilor Java cu sursă deschisă utilă, care permite crearea de citire, scriere, redimensionare, decupare, adăugare de filigrane și conversie de imagini precum PNG, JPEG, BMP, TIFF, ICO și multe altele.

În lumea viziunii computerizate, bibliotecile joacă un rol vital în simplificarea procesului de analiză a imaginilor și video. O astfel de bibliotecă care a câștigat o atenție semnificativă în ultimii ani este ICAFE, o bibliotecă open-source dezvoltată de Dragon66. ICAFE acceptă formate de imagine populare precum JPEG, PNG, BMP, TIFF, GIF și chiar formatele RAW de la camerele digitale. Este o bibliotecă Java puternică și versatilă pentru procesarea imaginilor, care oferă funcționalități bogate și diverse funcții de bază, precum și avansate pentru lucrul cu imagini, cum ar fi crearea de noi imagini, conversia imaginilor între diferite formate, lucrul cu metadate de imagine, crearea GIF animate, îmbinarea sau împărțirea imaginilor, eliminarea sau adăugarea de bucăți în PNG, comprimarea imaginilor sau conversia între formate, aplicarea filtrelor la imagini și așa mai departe.

ICAFE (Image & Camera Acquisition for Everyone) este o bibliotecă Java cu sursă deschisă care simplifică lucrul cu imagini, oferind diverse funcții pentru procesarea, codificarea, decodarea și extragerea metadatelor în cadrul aplicațiilor Java. Proiectat inițial pentru manipularea imaginilor, ICAFE a evoluat pentru a accepta o gamă largă de formate, inclusiv capacitatea de a procesa diagrame. Cu API-ul său flexibil și suport pentru mai multe formate de imagine, ICAFE oferă dezvoltatorilor de software instrumentele de care au nevoie pentru a crea aplicații puternice, în special pentru lucrul cu diagrame. Mai mult, dezvoltatorii de software pot folosi biblioteca pentru a importa diagrame din diferite formate, a le manipula și apoi a le exporta în formatul dorit. Cu ușurința în utilizare, setul robust de caracteristici, suportul multiformat și flexibilitatea, ICAFE este o resursă excelentă și valoroasă în setul de instrumente al oricărui dezvoltator.

Previous Next

Noțiuni introductive despre ICAFE

Cea mai simplă și recomandată modalitate de a instala ICAFE este prin GitHub.

Instalați ICAFE prin GitHub

go get -u https://github.com/dragon66/icafe.git 

Comprimarea și conversia imaginii

Biblioteca open source ICAFE simplifică citirea și comprimarea diferitelor tipuri de imagini, ceea ce este crucial atunci când lucrați cu fișiere mari sau optimizați aplicațiile web. Biblioteca permite atât compresia fără pierderi, cât și comprimarea imaginilor. Iată un exemplu care arată cum dezvoltatorii de software pot folosi codul pentru comprimarea unei imagini JPEG de intrare și o salvează la o calitate de 75%. Clasa JPEGEncoder de la ICAFE simplifică compresia imaginii, care poate fi reglată pentru a se potrivi nevoilor aplicației.

Cum se comprimă o imagine JPEG imagini în interiorul aplicațiilor Node.js?


import com.icafe4j.image.jpeg.JPEGEncoder;

import java.io.File;
import java.io.IOException;

public class ImageCompressionExample {
    public static void main(String[] args) throws IOException {
        File inputFile = new File("input.jpg");
        File outputFile = new File("compressed_output.jpg");
        
        // Compress JPEG with 75% quality
        JPEGEncoder.encode(inputFile, outputFile, 0.75f);
        
        System.out.println("Image compressed successfully!");
    }
}

Extragere metadate prin aplicații Java

Biblioteca ICAFE acceptă extragerea și manipularea metadatelor imaginii, cum ar fi EXIF, IPTC și XMP. Acest lucru este deosebit de util atunci când aveți de-a face cu imagini sau diagrame ale camerei care necesită informații suplimentare, cum ar fi marcaje temporale, date despre locație sau detalii privind drepturile de autor. În următorul exemplu de cod, ICAFE citește metadatele EXIF ​​dintr-un fișier JPEG, regăsind detalii despre modelul camerei și data la care a fost făcută fotografia. Acesta poate fi extins pentru a gestiona diverse alte etichete de metadate, făcându-l un instrument excelent pentru gestionarea colecțiilor de imagini.

Cum să încărcați și să citiți și să extrageți metadatele EXIF ​​dintr-un fișier JPEG prin intermediul API-ului Java?


import com.icafe4j.image.metadata.Metadata;
import com.icafe4j.image.metadata.exif.Exif;
import com.icafe4j.image.jpeg.JPEGMetadataReader;

import java.io.File;
import java.io.IOException;

public class MetadataExample {
    public static void main(String[] args) throws IOException {
        File imageFile = new File("input.jpg");

        // Extract EXIF metadata from a JPEG file
        Metadata metadata = JPEGMetadataReader.readMetadata(imageFile);
        Exif exif = (Exif) metadata.getExif();

        if (exif != null) {
            System.out.println("Camera Model: " + exif.getCameraModel());
            System.out.println("Date Taken: " + exif.getDateTime());
        } else {
            System.out.println("No EXIF metadata found!");
        }
    }
}
 

Manipulați (redimensionați, decupați, filtre) imagini prin Java

Biblioteca open source ICAFE facilitează pentru dezvoltatorii de software citirea și manipularea diferitelor tipuri de imagini în cadrul aplicațiilor Java. Biblioteca acceptă pe deplin manipularea ușoară a imaginilor, inclusiv redimensionarea, decuparea, aplicarea filtrelor și multe altele. În următorul fragment de cod, dezvoltatorii de software pot redimensiona o imagine păstrând în același timp raportul de aspect. Capacitățile de manipulare ale ICAFE le permit dezvoltatorilor de software să integreze cu ușurință funcțiile de procesare a imaginilor în software-ul lor.

Cum se încarcă și se redimensionează imagini prin API-ul Java?


public class ResizeImageExample {
    public static void main(String[] args) throws IOException {
        BufferedImage originalImage = ImageIO.read(new File("input.jpg"));
        
        // Resize the image to a width of 300 and maintain aspect ratio
        Image resizedImage = originalImage.getScaledInstance(300, -1, Image.SCALE_SMOOTH);
        BufferedImage resizedBufferedImage = new BufferedImage(300, resizedImage.getHeight(null), BufferedImage.TYPE_INT_RGB);
        
        Graphics2D g2d = resizedBufferedImage.createGraphics();
        g2d.drawImage(resizedImage, 0, 0, null);
        g2d.dispose();
        
        // Save the resized image
        ImageIO.write(resizedBufferedImage, "jpg", new File("resized_output.jpg"));
        
        System.out.println("Image resized successfully!");
    }
} 

Aplicați filigranarea imaginilor prin API-ul Java?

Adăugarea de filigrane la imagini este simplă cu biblioteca ICAFE. Această caracteristică este utilă pentru protejarea proprietății intelectuale, în special în aplicațiile care se ocupă de diagrame sau active de proiectare. Următorul exemplu de cod demonstrează cum să suprapuneți un filigran text pe o imagine, asigurându-vă că diagramele sau imaginile sunt protejate.

Cum să suprapuneți un filigran text pe o imagine prin intermediul API-ului Java?


public class WatermarkExample {
    public static void main(String[] args) throws IOException {
        BufferedImage image = ImageIO.read(new File("input.jpg"));
        
        // Add a text watermark
        TextWatermark watermark = new TextWatermark("Watermark", 50);
        BufferedImage watermarkedImage = watermark.apply(image);
        
        // Save the watermarked image
        ImageIO.write(watermarkedImage, "jpg", new File("watermarked_output.jpg"));
        
        System.out.println("Watermark applied successfully!");
    }
}
 Română