Açıq Mənbəli Java Şəkil Emalı və Manipulyasiyası
Aparıcı Açıq Mənbəli Java Şəkil Redaktə və Manipulyasiya Kitabxanası PNG, JPEG, BMP, TIFF, ICO və s. kimi geniş istifadə olunan formatları oxumağa, yazmağa, manipulyasiya etməyə və çevirməyə imkan verir.
Apache Commons Imaging nədir?
Əvvəllər Sanselan kimi tanınan Apache Commons Imaging, Apache Commons layihəsi çərçivəsində hazırlanmış güclü, açıq mənbəli Java kitabxanasıdır. O, daha geniş Apache Commons layihəsinin bir hissəsidir və proqram tərtibatçılarına xarici kitabxanalara etibar etmədən müxtəlif təsvir formatlarını oxumaq və yazmaq üçün səmərəli üsul təklif edir. Proqram tərtibatçıları təsvirin oxunması və yazılması, digər formatlara çevrilmə, təsvir metadatasının idarə edilməsi, xüsusi təsvirin göstərilməsi, təsvirin rəng modelləri, təsvirin manipulyasiyası və s. kimi tapşırıqları sadələşdirərək, müxtəlif təsvir formatlarını idarə edə bilər. Kitabxananın çevikliyi onu xarici asılılıqlara əsaslanmadan təsvirin işlənməsini tələb edən proqramlar üçün ideal hala gətirir. Kitabxana bulanıqlaşdırma, kəskinləşdirmə və kənar aşkarlama daxil olmaqla müxtəlif şəkil filtrləri təqdim edir.
Apache Commons Imaging Java proqramlarında şəkil faylları ilə işləmə prosesini asanlaşdıran möhkəm və çox yönlü kitabxanadır. Bu PNG, JPEG, BMP, GIF, TIFF, ICO və s. kimi çoxlu şəkil formatlarını dəstəkləyən Java əsaslı kitabxanadır. Bundan əlavə, histoqram hesablanması, rəng məkanının çevrilməsi və təsvirin seqmentasiyası daxil olmaqla, təsvirin təhlili üçün alətlər təklif edir. Həm tərtibatçılar, həm tədqiqatçılar, həm də həvəskarlar üçün ideal seçimdir. Kitabxana təsvirin manipulyasiyası üçün səmərəli və istifadəsi asan API təklif edir ki, bu da resursların məhdud olduğu mühitlərdə xüsusilə faydalı ola bilər. İstər təsvirin işlənməsini tələb edən layihə üzərində işləyirsiniz, istərsə də sadəcə olaraq təsvirin manipulyasiyası ilə təcrübə etmək istəsəniz, Apache Commons Imaging mütləq araşdırmağa dəyər.
Apache Commons Imaging ilə Başlayın
Apache Commons Imaging quraşdırmanın tövsiyə olunan yolu Maven Repository-dən istifadə etməkdir. Rahat quraşdırma üçün aşağıdakı əmrdən istifadə edin.
Apache Commons Imaging üçün Maven deposu
<repositories>
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://releases.aspose.com/java/repo/</url>
</repository>
</repositories>
//Define Aspose.PDF for Java API Dependency
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-imaging</artifactId>
<version>1.0.0-alpha5</version>
</dependency>
</dependencies>
GitHub vasitəsilə Apache Commons Imaging quraşdırın
go get -u https://github.com/apache/commons-imaging.git
Siz kitabxananı birbaşa GitHub məhsul səhifəsindən yükləyə bilərsiniz
Java Tətbiqlərində Şəkil Çevrilməsi
Uyğunluq və ya optimallaşdırma məqsədləri üçün bir formatda (məsələn, PNG) saxlanılan diaqramların başqa formata (məsələn, BMP və ya JPEG) çevrilməsi lazım ola bilər. Apache Commons Imaging, tərtibatçılara müxtəlif şəkil fayl formatlarını dəstəklənən formatlar arasında asanlıqla çevirməyə imkan verən çevirmə xüsusiyyətləri təklif edir. Aşağıdakı nümunə proqram tərtibatçılarının PNG faylını BMP formatına necə asanlıqla çevirə biləcəyini göstərir. Proses sadədir və istənilən dəstəklənən formatlar arasında çevrilmələri idarə edə bilər, bu da onu uyğunluq məqsədləri üçün şəkilləri bir neçə formatda saxlamağa ehtiyac duyan tətbiqlər üçün ideal edir.
Java API vasitəsilə PNG faylını BMP fayl formatına necə çevirmək olar?
File inputFile = new File("diagram.png");
BufferedImage image = Imaging.getBufferedImage(inputFile);
File outputFile = new File("converted_image.bmp");
Imaging.writeImage(image, outputFile, ImageFormats.BMP, null);
Java Kitabxanası vasitəsilə Şəkil Manipulyasiyası
Apache Commons Imaging, ölçüsünün dəyişdirilməsi, kəsilməsi və miqyasının dəyişdirilməsi kimi ümumi şəkil çevrilmələrini yerinə yetirmək üçün BufferedImage kimi digər Java kitabxanaları ilə birlikdə istifadə edilə bilər. Ölçünün dəyişdirilməsi üçün başqa Java təsvir emalı kitabxanasından (imgscalr) Scalr.resize() metodu istifadə olunur, ardınca Apache Commons Imaging istifadə edərək ölçüsünü dəyişdirilən şəklin saxlanması. Bu, qabaqcıl təsvir manipulyasiyası üçün digər Java kitabxanaları ilə qüsursuz inteqrasiyaya imkan verir.
Java Tətbiqlərində Şəklin ölçüsünü necə dəyişmək olar?
BufferedImage originalImage = Imaging.getBufferedImage(new File("sample_image.png"));
BufferedImage resizedImage = Scalr.resize(originalImage, 300); // Resize width to 300px
File outputFile = new File("resized_image.png");
Imaging.writeImage(resizedImage, outputFile, ImageFormats.PNG, null);
Java API vasitəsilə Şəkil metaməlumatlarının çıxarılması
Apache Commons Imaging-in əsas xüsusiyyətlərindən biri onun Java proqramları daxilində şəkillərdən metadata çıxarmaq qabiliyyətidir. Diaqramlar üçün bu metadata yaradılma tarixi, dəyişiklik tarixçəsi və ya müəllif təfərrüatları kimi faydalı məlumatları ehtiva edə bilər. Bu imkan tərtibatçılara diaqram şəkillərini sadəcə ekrandan kənara çıxan üsullarla emal etməyə imkan verir. Aşağıdakı nümunə proqram tərtibatçılarının Java proqramları daxilindəki şəkillərdən metadata çıxara biləcəyini göstərir.
Metaməlumatları Java API vasitəsilə Şəkillərdən necə çıxarmaq olar?
File imageFile = new File("diagram.png");
ImageInfo imageInfo = Imaging.getImageInfo(imageFile);
System.out.println("Format: " + imageInfo.getFormat());
System.out.println("Width: " + imageInfo.getWidth());
System.out.println("Height: " + imageInfo.getHeight());
Java Tətbiqlərində Fərdi Şəkil Renderi
Proqram təminatı tərtibatçıları tez bir zamanda təsvir yaratmaq və ya java proqramlarında mövcud olanları dəyişdirmək üçün Apache Commons Imaging-dən istifadə edə bilərlər. Kitabxananı Java-nın yerli Graphics2D ilə birləşdirərək, proqramlı şəkildə şəkillər çəkmək və ya annotasiyalar əlavə etmək mümkündür. Aşağıdakı kod nümunəsi boş bir şəkil yaradır, ona mətn əlavə edir və PNG faylı kimi saxlayır. Bu, sıfırdan şəkillər yaratmaq üçün Apache Commons Imaging-in Java-nın rəsm API-ləri ilə necə işləyə biləcəyini nümayiş etdirir.
Java vasitəsilə Sıfırdan Şəkilləri Necə Yaratmaq olar?
BufferedImage image = new BufferedImage(400, 300, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = image.createGraphics();
graphics.setPaint(Color.WHITE);
graphics.fillRect(0, 0, image.getWidth(), image.getHeight());
graphics.setPaint(Color.BLACK);
graphics.setFont(new Font("Arial", Font.BOLD, 20));
graphics.drawString("Custom Diagram", 100, 150);
graphics.dispose();
File outputFile = new File("custom_image.png");
Imaging.writeImage(image, outputFile, ImageFormats.PNG, null);