1. Məhsullar
  2.   Şəkil
  3.   Java
  4.   ICAFE
 
  

Pulsuz Java Şəkil Yaratma və Emal Kitabxanası

PNG, JPEG, BMP, TIFF, ICO və daha çox kimi Oxumaq, Yazmaq, Ölçüsü dəyişdirmək, Kırpmaq, Su Nişanları Əlavə etmək və Şəkilləri Çevirməyə imkan verən Faydalı Açıq Mənbəli Java Şəkil Emalı API.

Kompüter görmə dünyasında kitabxanalar şəkil və video təhlili prosesinin sadələşdirilməsində mühüm rol oynayır. Son illərdə diqqəti cəlb edən belə kitabxanalardan biri də Dragon66 tərəfindən hazırlanmış açıq mənbəli ICAFE kitabxanasıdır. ICAFE rəqəmsal kameralardan JPEG, PNG, BMP, TIFF, GIF və hətta RAW formatları kimi məşhur şəkil formatlarını dəstəkləyir. Bu, şəkillərlə işləmək üçün zəngin funksionallıq və müxtəlif əsas, eləcə də təkmil funksiyalar təklif edən, təsvirin emalı üçün güclü, çox yönlü Java kitabxanasıdır, məsələn, yeni şəkillər yaratmaq, müxtəlif formatlar arasında təsvirin konvertasiyası, təsvir metadataları ilə işləmək, animasiyalı GIF yaratmaq, birləşmə kimi. və ya şəkilləri bölmək, PNG-yə parçaları silmək və ya əlavə etmək, şəkilləri sıxmaq və ya formatlar arasında çevirmək, şəkillərə filtrlər tətbiq etmək və s.

ICAFE (Hər kəs üçün Şəkil və Kamera Alınması) Java proqramlarında emal, kodlaşdırma, dekodlaşdırma və metaməlumatların çıxarılması üçün müxtəlif funksiyalar təklif edərək şəkillərlə işi asanlaşdıran açıq mənbəli Java kitabxanasıdır. Əvvəlcə şəkillərlə işləmək üçün nəzərdə tutulmuş ICAFE diaqramları emal etmək imkanı da daxil olmaqla geniş çeşidli formatları dəstəkləmək üçün inkişaf etmişdir. Çevik API və çoxsaylı şəkil formatları dəstəyi ilə ICAFE proqram tərtibatçılarına güclü proqramlar yaratmaq, xüsusən də diaqramlarla işləmək üçün lazım olan alətləri təqdim edir. Bundan əlavə, Proqram Tərtibatçıları müxtəlif formatlardan diaqramları idxal etmək, onları manipulyasiya etmək və sonra onları istədiyiniz formata ixrac etmək üçün kitabxanadan istifadə edə bilərlər. İstifadəsi asanlığı, möhkəm funksiyalar dəsti, çox formatlı dəstəyi və çevikliyi ilə ICAFE istənilən tərtibatçının alət dəstində əla və qiymətli mənbədir.

Previous Next

ICAFE ilə işə başlamaq

ICAFE quraşdırmanın ən asan və tövsiyə olunan yolu GitHub vasitəsilədir.

ICAFE-ni GitHub vasitəsilə quraşdırın

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

Şəkillərin sıxılması və çevrilməsi

Açıq mənbəli ICAFE kitabxanası müxtəlif növ şəkilləri oxumağı və sıxmağı asanlaşdırır ki, bu da böyük fayllarla işləyərkən və ya veb proqramları optimallaşdırarkən çox vacibdir. Kitabxana şəkilləri həm itkisiz, həm də itkisiz sıxışdırmağa imkan verir. Proqram tərtibatçılarının daxil edilmiş JPEG şəklini sıxışdırmaq üçün kodu necə istifadə edə biləcəyini və onu 75% keyfiyyətdə saxlaya biləcəyini göstərən bir nümunə. ICAFE-nin JPEGEncoder sinfi tətbiqin ehtiyaclarına uyğunlaşdırıla bilən təsvirin sıxılmasını asanlaşdırır.

Node.js Tətbiqlərində JPEG şəkli Şəkilləri necə sıxmaq olar?


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

Java Proqramları vasitəsilə metaməlumatların çıxarılması

ICAFE kitabxanası EXIF, IPTC və XMP kimi təsvir metadatasının çıxarılmasını və manipulyasiyasını dəstəkləyir. Bu, xüsusilə vaxt ştampları, məkan məlumatları və ya müəllif hüququ təfərrüatları kimi əlavə məlumat tələb edən kamera şəkilləri və ya diaqramları ilə işləyərkən faydalıdır. Aşağıdakı kod nümunəsində ICAFE JPEG faylından EXIF ​​​​metaməlumatını oxuyur, kamera modeli və fotoşəkilin çəkildiyi tarix haqqında təfərrüatları əldə edir. Bu, müxtəlif digər metadata teqlərini idarə etmək üçün genişləndirilə bilər ki, bu da onu şəkil kolleksiyalarını idarə etmək üçün əla alətə çevirir.

EXIF metaməlumatını Java API vasitəsilə JPEG faylından necə yükləmək və oxumaq və çıxarmaq olar?


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

Java vasitəsilə şəkillərlə manipulyasiya edin (ölçünü dəyişdirin, kəsin, filtrlər edin)

Açıq mənbəli ICAFE kitabxanası proqram tərtibatçılarına Java proqramları daxilində müxtəlif növ şəkilləri oxumağı və idarə etməyi asanlaşdırır. Kitabxana şəkillərin asan manipulyasiyasını, o cümlədən ölçüsünün dəyişdirilməsi, kəsilməsi, filtrlərin tətbiqi və s. Aşağıdakı kod parçasında proqram tərtibatçıları aspekt nisbətini qoruyaraq şəklin ölçüsünü dəyişə bilər. ICAFE-nin manipulyasiya imkanları proqram tərtibatçılarına şəkillərin emal funksiyalarını öz proqramlarına asanlıqla inteqrasiya etməyə imkan verir.

Java API vasitəsilə şəkilləri necə yükləmək və ölçüsünü dəyişmək olar?


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

Java API vasitəsilə şəkillərə su nişanı tətbiq edilsin?

Şəkillərə su nişanı əlavə etmək ICAFE kitabxanası ilə sadədir. Bu xüsusiyyət, xüsusilə diaqramlar və ya dizayn aktivləri ilə məşğul olan tətbiqlərdə əqli mülkiyyətin qorunması üçün faydalıdır. Aşağıdakı kod nümunəsi diaqramlarınızın və ya şəkillərinizin mühafizəsini təmin edərək, mətnin su nişanının şəkil üzərində necə üst-üstə qoyulacağını nümayiş etdirir.

Java API vasitəsilə mətnin su nişanını necə üstələmək olar?


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