1. Produkte
  2.   Bild
  3.   Java
  4.   ICAFE
 
  

Kostenlose Java-Bibliothek zur Bilderstellung und -verarbeitung

Eine nützliche Open-Source-Java-API zur Bildverarbeitung, die das Erstellen, Lesen, Schreiben, Ändern der Größe, Zuschneiden, Hinzufügen von Wasserzeichen und Konvertieren von Bildern wie PNG, JPEG, BMP, TIFF, ICO und vielem mehr ermöglicht.

In der Welt der Computervision spielen Bibliotheken eine wichtige Rolle bei der Vereinfachung des Prozesses der Bild- und Videoanalyse. Eine solche Bibliothek, die in den letzten Jahren erhebliche Aufmerksamkeit erlangt hat, ist ICAFE, eine von Dragon66 entwickelte Open-Source-Bibliothek. ICAFE unterstützt gängige Bildformate wie JPEG, PNG, BMP, TIFF, GIF und sogar RAW-Formate von Digitalkameras. Es handelt sich um eine leistungsstarke, vielseitige Java-Bibliothek für die Bildverarbeitung, die umfangreiche Funktionen und verschiedene grundlegende sowie erweiterte Funktionen für die Arbeit mit Bildern bietet, z. B. das Erstellen neuer Bilder, die Bildkonvertierung zwischen verschiedenen Formaten, das Arbeiten mit Bildmetadaten, das Erstellen animierter GIFs, das Zusammenführen oder Aufteilen von Bildern, das Entfernen oder Hinzufügen von Teilen zu PNG, das Komprimieren von Bildern oder das Konvertieren zwischen Formaten, das Anwenden von Filtern auf Bilder und so weiter.

ICAFE (Image & Camera Acquisition for Everyone) ist eine Open-Source-Java-Bibliothek, die die Arbeit mit Bildern vereinfacht und verschiedene Funktionen für die Verarbeitung, Kodierung, Dekodierung und Metadatenextraktion in Java-Anwendungen bietet. Ursprünglich für die Bildverarbeitung entwickelt, hat sich ICAFE weiterentwickelt und unterstützt nun eine breite Palette von Formaten, einschließlich der Möglichkeit, Diagramme zu verarbeiten. Mit seiner flexiblen API und der Unterstützung mehrerer Bildformate bietet ICAFE Softwareentwicklern die Tools, die sie zum Erstellen leistungsstarker Anwendungen benötigen, insbesondere für die Arbeit mit Diagrammen. Darüber hinaus können Softwareentwickler die Bibliothek verwenden, um Diagramme aus verschiedenen Formaten zu importieren, zu bearbeiten und sie dann in das gewünschte Format zu exportieren. Mit seiner Benutzerfreundlichkeit, seinem robusten Funktionsumfang, seiner Unterstützung mehrerer Formate und seiner Flexibilität ist ICAFE eine hervorragende und wertvolle Ressource im Toolkit jedes Entwicklers.

Previous Next

Erste Schritte mit ICAFE

Die einfachste und empfohlene Möglichkeit, ICAFE zu installieren, ist über GitHub.

Install ICAFE via GitHub

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

Bildkomprimierung und -konvertierung

Die Open-Source-Bibliothek ICAFE vereinfacht das Lesen und Komprimieren verschiedener Bildtypen, was bei der Arbeit mit großen Dateien oder der Optimierung von Webanwendungen von entscheidender Bedeutung ist. Die Bibliothek ermöglicht sowohl verlustfreie als auch verlustbehaftete Komprimierung von Bildern. Hier ist ein Beispiel, das zeigt, wie Softwareentwickler den Code zum Komprimieren eines eingegebenen JPEG-Bilds verwenden und es mit 75 % Qualität speichern können. Die JPEGEncoder-Klasse von ICAFE vereinfacht die Bildkomprimierung, die an die Anforderungen der Anwendung angepasst werden kann.

Wie komprimiere ich ein JPEG-Bild in Node.js-Apps?


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!");
    }
}

Metadatenextraktion über Java-Anwendungen

Die ICAFE-Bibliothek unterstützt die Extraktion und Bearbeitung von Bildmetadaten wie EXIF, IPTC und XMP. Dies ist besonders nützlich, wenn es um Kamerabilder oder Diagramme geht, die zusätzliche Informationen wie Zeitstempel, Standortdaten oder Copyright-Details erfordern. Im folgenden Codebeispiel liest ICAFE die EXIF-Metadaten aus einer JPEG-Datei und ruft Details über das Kameramodell und das Aufnahmedatum des Fotos ab. Dies kann erweitert werden, um verschiedene andere Metadaten-Tags zu verarbeiten, was es zu einem hervorragenden Tool für die Verwaltung von Bildsammlungen macht.

Wie lade, lese und extrahiere ich die EXIF-Metadaten aus einer JPEG-Datei über die Java-API?


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!");
        }
    }
}
 

Bilder über Java bearbeiten (Größe ändern, zuschneiden, Filter anwenden)

Die Open-Source-Bibliothek ICAFE erleichtert Softwareentwicklern das Lesen und Bearbeiten verschiedener Bildtypen in Java-Anwendungen. Die Bibliothek unterstützt die einfache Bildbearbeitung, einschließlich Größenänderung, Zuschneiden, Anwenden von Filtern und mehr. Im folgenden Codeausschnitt können Softwareentwickler die Größe eines Bilds ändern und dabei das Seitenverhältnis beibehalten. Die Bearbeitungsfunktionen von ICAFE ermöglichen es Softwareentwicklern, Bildverarbeitungsfunktionen problemlos in ihre Software zu integrieren.

Wie lade und skaliere ich Bilder über die Java-API?


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!");
    }
} 

Wasserzeichen über Java-API auf Bilder anwenden?

Mit der ICAFE-Bibliothek können Sie Bilder ganz einfach mit Wasserzeichen versehen. Diese Funktion ist nützlich, um geistiges Eigentum zu schützen, insbesondere in Anwendungen, die Diagramme oder Designelemente verwenden. Das folgende Codebeispiel zeigt, wie Sie ein Textwasserzeichen auf ein Bild legen und so sicherstellen, dass Ihre Diagramme oder Bilder geschützt sind.

Wie überlagert man ein Textwasserzeichen über ein Bild über die Java-API?


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!");
    }
}
 Deutsch