1. Produkti
  2.   Attēls
  3.   Java
  4.   ICAFE
 
  

Bezmaksas Java attēlu izveides un apstrādes bibliotēka

Noderīga atvērtā pirmkoda Java attēlu apstrādes API, kas ļauj izveidot lasīšanu, rakstīt, mainīt izmērus, apgriezt, pievienot ūdenszīmes un pārveidot attēlus, piemēram, PNG, JPEG, BMP, TIFF, ICO un daudz ko citu..

Datorredzes pasaulē bibliotēkām ir būtiska nozīme attēlu un video analīzes procesa vienkāršošanā. Viena no šādām bibliotēkām, kas pēdējos gados ir ieguvusi ievērojamu uzmanību, ir Dragon66 izstrādātā atvērtā koda bibliotēka ICAFE. ICAFE atbalsta tādus populārus attēlu formātus kā JPEG, PNG, BMP, TIFF, GIF un pat RAW formātus no digitālajām kamerām. Tā ir jaudīga, daudzpusīga Java bibliotēka attēlu apstrādei, kas piedāvā bagātīgu funkcionalitāti un dažādas pamata, kā arī uzlabotas funkcijas darbam ar attēliem, piemēram, jaunu attēlu izveidei, attēlu konvertēšanai starp dažādiem formātiem, darbam ar attēla metadatiem, animētu GIF izveidošanai, attēlu sapludināšanai vai sadalīšanai, gabalu noņemšanai vai pievienošanai PNG, attēlu saspiešanai vai konvertēšanai starp formātiem, filtru pielietošanai attēliem un tā tālāk.

ICAFE (Attēlu un kameru iegūšana ikvienam) ir atvērtā pirmkoda Java bibliotēka, kas vienkāršo darbu ar attēliem, piedāvājot dažādas funkcijas apstrādei, kodēšanai, dekodēšanai un metadatu iegūšanai Java lietojumprogrammās. Sākotnēji paredzēts attēlu apstrādei, ICAFE ir attīstījies, lai atbalstītu plašu formātu klāstu, tostarp iespēju apstrādāt diagrammas. Pateicoties elastīgajam API un vairāku attēlu formātu atbalstam, ICAFE nodrošina programmatūras izstrādātājiem nepieciešamos rīkus jaudīgu lietojumprogrammu izveidei, īpaši darbam ar diagrammām. Turklāt programmatūras izstrādātāji var izmantot bibliotēku, lai importētu diagrammas no dažādiem formātiem, manipulētu ar tām un pēc tam eksportētu vēlamajā formātā. Pateicoties vienkāršai lietošanai, spēcīgajam funkciju kopumam, vairāku formātu atbalstam un elastībai, ICAFE ir lielisks un vērtīgs resurss jebkura izstrādātāja rīku komplektā.

Previous Next

Darba sākšana ar ICAFE

Vienkāršākais un ieteicamākais veids, kā instalēt ICAFE, ir GitHub.

Instalējiet ICAFE, izmantojot GitHub

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

Attēla saspiešana un konvertēšana

Atvērtā pirmkoda ICAFE bibliotēka ļauj vienkārši lasīt un saspiest dažāda veida attēlus, kas ir ļoti svarīgi, strādājot ar lieliem failiem vai optimizējot tīmekļa lietojumprogrammas. Bibliotēka nodrošina gan bezzudumu, gan zaudējumu attēlu saspiešanu. Šeit ir piemērs, kas parāda, kā programmatūras izstrādātāji var izmantot kodu, lai saspiestu ievades JPEG attēlu un saglabātu to 75% kvalitātē. ICAFE JPEGEncoder klase vienkāršo attēla saspiešanu, ko var pielāgot lietojumprogrammas vajadzībām.

Kā saspiest JPEG attēlu attēlus lietotnēs 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!");
    }
}

Metadatu ieguve, izmantojot Java lietojumprogrammas

ICAFE bibliotēka atbalsta attēlu metadatu, piemēram, EXIF, IPTC un XMP, ieguvi un manipulācijas ar tiem. Tas ir īpaši noderīgi, strādājot ar kameras attēliem vai diagrammām, kurām nepieciešama papildu informācija, piemēram, laikspiedoli, atrašanās vietas dati vai informācija par autortiesībām. Nākamajā koda piemērā ICAFE nolasa EXIF ​​metadatus no JPEG faila, izgūstot informāciju par kameras modeli un fotoattēla uzņemšanas datumu. To var paplašināt, lai apstrādātu dažādus citus metadatu tagus, padarot to par lielisku rīku attēlu kolekciju pārvaldīšanai.

Kā ielādēt un lasīt un izvilkt EXIF ​​metadatus no JPEG faila, izmantojot 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!");
        }
    }
}
 

Manipulēt (mainīt izmērus, apgriezt, filtrus) ar attēliem, izmantojot Java

Atvērtā pirmkoda ICAFE bibliotēka ļauj programmatūras izstrādātājiem viegli lasīt un manipulēt ar dažāda veida attēliem Java lietojumprogrammās. Bibliotēka pilnībā atbalsta vienkāršas manipulācijas ar attēliem, tostarp izmēru maiņu, apgriešanu, filtru lietošanu un daudz ko citu. Šajā koda fragmentā programmatūras izstrādātāji var mainīt attēla izmēru, vienlaikus saglabājot tā malu attiecību. ICAFE manipulācijas iespējas ļauj programmatūras izstrādātājiem viegli integrēt attēlu apstrādes funkcijas savā programmatūrā.

Kā ielādēt attēlus un mainīt to izmērus, izmantojot 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!");
    }
} 

Vai lietot ūdenszīmes attēliem, izmantojot Java API?

Ūdenszīmju pievienošana attēliem ir vienkārša, izmantojot ICAFE bibliotēku. Šī funkcija ir noderīga intelektuālā īpašuma aizsardzībai, īpaši lietojumprogrammās, kas nodarbojas ar diagrammām vai dizaina līdzekļiem. Tālāk sniegtajā koda piemērā ir parādīts, kā attēlam uzklāt teksta ūdenszīmi, nodrošinot diagrammu vai attēlu aizsardzību.

Kā uz attēla pārklāt teksta ūdenszīmi, izmantojot 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!");
    }
}
 Latviski