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

Gratis bibliotek til oprettelse og behandling af Java-billeder

Et nyttigt Open Source Java-billedbehandlings-API, der gør det muligt at oprette læse, skrive, ændre størrelse, beskære, tilføje vandmærker og konvertere billeder som PNG, JPEG, BMP, TIFF, ICO og mange flere.

I computervisionens verden spiller biblioteker en afgørende rolle i at forenkle processen med billed- og videoanalyse. Et sådant bibliotek, der har fået betydelig opmærksomhed i de senere år, er ICAFE, et open source-bibliotek udviklet af Dragon66. ICAFE understøtter populære billedformater som JPEG, PNG, BMP, TIFF, GIF og endda RAW-formater fra digitale kameraer. Det er et kraftfuldt, alsidigt Java-bibliotek til billedbehandling, der tilbyder rig funktionalitet og forskellige grundlæggende såvel som avancerede funktioner til at arbejde med billeder, såsom oprettelse af nye billeder, billedkonvertering mellem forskellige formater, arbejde med billedmetadata, oprettelse af animeret GIF, fletning eller opdele billeder, fjerne eller tilføje bidder til PNG, komprimere billeder eller konvertere mellem formater, anvende filtre på billeder og så videre.

ICAFE (Image & Camera Acquisition for Everyone) er et open source Java-bibliotek, der forenkler arbejdet med billeder og tilbyder forskellige funktioner til behandling, kodning, afkodning og metadataudtræk i Java-applikationer. Oprindeligt designet til billedhåndtering, ICAFE har udviklet sig til at understøtte en lang række formater, herunder evnen til at behandle diagrammer. Med sin fleksible API og understøttelse af flere billedformater giver ICAFE softwareudviklere de værktøjer, de har brug for til at skabe kraftfulde applikationer, især til at arbejde med diagrammer. Desuden kan softwareudviklere bruge biblioteket til at importere diagrammer fra forskellige formater, manipulere dem og derefter eksportere dem til det ønskede format. Med sin brugervenlighed, robuste sæt funktioner, understøttelse af flere formater og fleksibilitet er ICAFE en fremragende og værdifuld ressource i enhver udviklers værktøjskasse.

Previous Next

Kom godt i gang med ICAFE

Den nemmeste og anbefalede måde at installere ICAFE på er via GitHub.

Install ICAFE via GitHub

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

Billedkomprimering og -konvertering

Open source ICAFE-biblioteket gør det nemt at læse og komprimere forskellige typer billeder, hvilket er afgørende, når man arbejder med store filer eller optimerer webapplikationer. Biblioteket giver mulighed for både tabsfri og tabsgivende komprimering af billeder. Her er et eksempel, der viser, hvordan softwareudviklere kan bruge koden til at komprimere et input JPEG-billede og gemmer det i 75 % kvalitet. ICAFEs JPEGEncoder-klasse forenkler billedkomprimering, som kan indstilles til at passe til applikationens behov.

Hvordan komprimerer man et JPEG-billede billeder 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!");
    }
}

Metadataekstraktion via Java-applikationer

ICAFE-biblioteket understøtter udtrækning og manipulation af billedmetadata såsom EXIF, IPTC og XMP. Dette er især nyttigt, når du har at gøre med kamerabilleder eller diagrammer, der kræver yderligere oplysninger såsom tidsstempler, placeringsdata eller ophavsretsoplysninger. I det følgende kodeeksempel læser ICAFE EXIF-metadataene fra en JPEG-fil og henter detaljer om kameramodellen og datoen, hvor billedet blev taget. Dette kan udvides til at håndtere forskellige andre metadata-tags, hvilket gør det til et fremragende værktøj til at administrere billedsamlinger.

Hvordan indlæses og læses og udpakkes EXIF-metadata fra 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!");
        }
    }
}
 

Manipulation (ændre størrelse, beskær, filtre) billeder via Java

Open source ICAFE-biblioteket gør det nemt for softwareudviklere at læse og manipulere forskellige typer billeder i Java-applikationer. Biblioteket understøtter fuldt ud nem manipulation af billeder, herunder ændring af størrelse, beskæring, anvendelse af filtre og mere. I det følgende kodestykke kan softwareudviklere ændre størrelsen på et billede og samtidig bevare dets billedformat. ICAFEs manipulationsmuligheder gør det muligt for softwareudviklere nemt at integrere billedbehandlingsfunktioner i deres software.

Hvordan indlæses og ændres størrelse på billeder 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!");
    }
} 

Anvend vandmærke på billeder via Java API?

Det er nemt at tilføje vandmærker til billeder med ICAFE-biblioteket. Denne funktion er nyttig til at beskytte intellektuel ejendom, især i applikationer, der omhandler diagrammer eller designaktiver. Følgende kodeeksempel viser, hvordan man overlejrer et tekstvandmærke på et billede, og sikrer, at dine diagrammer eller billeder er beskyttet.

Hvordan overlejres et tekstvandmærke på et billede 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!");
    }
}
 Dansk