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

Gratis Java Image Creation & Processing Library

Ett användbart API för Java-bildbehandling med öppen källkod som gör det möjligt att skapa läsa, skriva, ändra storlek, beskära, lägga till vattenstämplar och konvertera bilder som PNG, JPEG, BMP, TIFF, ICO och många fler.

I en värld av datorseende spelar bibliotek en avgörande roll för att förenkla processen för bild- och videoanalys. Ett sådant bibliotek som har fått stor uppmärksamhet de senaste åren är ICAFE, ett bibliotek med öppen källkod utvecklat av Dragon66. ICAFE stöder populära bildformat som JPEG, PNG, BMP, TIFF, GIF och även RAW-format från digitalkameror. Det är ett kraftfullt, mångsidigt Java-bibliotek för bildbehandling som erbjuder rik funktionalitet och olika grundläggande såväl som avancerade funktioner för att arbeta med bilder, som att skapa nya bilder, bildkonvertering mellan olika format, arbeta med bildmetadata, skapa animerad GIF, slå samman eller dela bilder, ta bort eller lägga till bitar till PNG, komprimera bilder eller konvertera till bilder och konvertera mellan format och så använd filter.

ICAFE (Image & Camera Acquisition for Everyone) är ett Java-bibliotek med öppen källkod som förenklar arbetet med bilder och erbjuder olika funktioner för bearbetning, kodning, avkodning och extrahering av metadata i Java-applikationer. Ursprungligen designad för bildhantering, har ICAFE utvecklats för att stödja ett brett utbud av format, inklusive förmågan att bearbeta diagram. Med sitt flexibla API och stöd för flera bildformat ger ICAFE mjukvaruutvecklare de verktyg de behöver för att skapa kraftfulla applikationer, speciellt för att arbeta med diagram. Dessutom kan mjukvaruutvecklare använda biblioteket för att importera diagram från olika format, manipulera dem och sedan exportera dem till önskat format. Med sin användarvänlighet, robusta uppsättning funktioner, stöd för flera format och flexibilitet är ICAFE en utmärkt och värdefull resurs i alla utvecklares verktygslåda.

Previous Next

Komma igång med ICAFE

Det enklaste och rekommenderade sättet att installera ICAFE är via GitHub.

Installera ICAFE via GitHub

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

Bildkomprimering och bildkonvertering

ICAFE-biblioteket med öppen källkod gör det enkelt att läsa och komprimera olika typer av bilder, vilket är avgörande när man arbetar med stora filer eller optimerar webbapplikationer. Biblioteket möjliggör både förlustfri och förlustfri komprimering av bilder. Här är ett exempel som visar hur mjukvaruutvecklare kan använda koden för att komprimera en ingående JPEG-bild och sparar den med 75 % kvalitet. ICAFE:s JPEGEncoder-klass förenklar bildkomprimering, som kan ställas in för att passa applikationens behov.

Hur komprimerar jag en JPEG-bild bilder i 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!");
    }
}

Metadataextraktion via Java-applikationer

ICAFE-biblioteket stöder extrahering och manipulering av bildmetadata som EXIF, IPTC och XMP. Detta är särskilt användbart när du hanterar kamerabilder eller diagram som kräver ytterligare information som tidsstämplar, platsdata eller upphovsrättsinformation. I följande kodexempel läser ICAFE EXIF-metadata från en JPEG-fil och hämtar detaljer om kameramodellen och datumet då bilden togs. Detta kan utökas för att hantera olika andra metadatataggar, vilket gör det till ett utmärkt verktyg för att hantera bildsamlingar.

Hur laddar man och läser och extraherar EXIF-metadata från en JPEG-fil via 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!");
        }
    }
}
 

Manipulera (ändra storlek, beskära, filtrera) bilder via Java

ICAFE-biblioteket med öppen källkod gör det enkelt för programutvecklare att läsa och manipulera olika typer av bilder i Java-applikationer. Biblioteket stöder fullt ut enkel manipulering av bilder, inklusive storleksändring, beskärning, applicering av filter och mer. I följande kodavsnitt kan mjukvaruutvecklare ändra storlek på en bild med bibehållen bildförhållande. ICAFE:s manipuleringsmöjligheter gör det möjligt för mjukvaruutvecklare att enkelt integrera bildbehandlingsfunktioner i sin programvara.

Hur laddar man och ändrar storlek på bilder via 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!");
    }
} 

Tillämpa vattenmärkning på bilder via Java API?

Det är enkelt att lägga till vattenstämplar i bilder med ICAFE-biblioteket. Den här funktionen är användbar för att skydda immateriella rättigheter, särskilt i applikationer som hanterar diagram eller designtillgångar. Följande kodexempel visar hur man överlagrar en textvattenstämpel på en bild, vilket säkerställer att dina diagram eller bilder är skyddade.

Hur lägger man över en textvattenstämpel på en bild via 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!");
    }
}
 Svenska