معالجة الصور والتلاعب بها باستخدام لغة جافا مفتوحة المصدر
تتيح مكتبة Java الرائدة لتحرير الصور ومعالجتها قراءة وكتابة ومعالجة وتحويل التنسيقات المستخدمة على نطاق واسع مثل PNG وJPEG وBMP وTIFF وICO والمزيد.
ما هو Apache Commons Imaging؟
Apache Commons Imaging، والمعروف سابقًا باسم Sanselan، هي مكتبة Java قوية مفتوحة المصدر تم تطويرها في إطار مشروع Apache Commons. وهي جزء من مشروع Apache Commons الأوسع وتوفر لمطوري البرامج طريقة فعّالة لقراءة وكتابة مجموعة متنوعة من تنسيقات الصور دون الاعتماد على مكتبات خارجية. يمكن لمطوري البرامج التعامل مع مجموعة كبيرة ومتنوعة من تنسيقات الصور، مما يبسط المهام مثل قراءة الصور وكتابتها، وتحويلها إلى تنسيقات أخرى، ومعالجة بيانات تعريف الصور، وتقديم الصور المخصصة، ونماذج ألوان الصور، والتلاعب بالصور، وما إلى ذلك. تجعل مرونة المكتبة مثالية للتطبيقات التي تتطلب معالجة الصور دون الاعتماد على التبعيات الخارجية. توفر المكتبة مجموعة متنوعة من مرشحات الصور، بما في ذلك التمويه والحدة واكتشاف الحواف.
Apache Commons Imaging هي مكتبة قوية ومتعددة الاستخدامات تبسط عملية العمل مع ملفات الصور في تطبيقات Java. إنها مكتبة تعتمد على Java وتدعم تنسيقات صور متعددة مثل PNG وJPEG وBMP وGIF وTIFF وICO وما إلى ذلك. علاوة على ذلك، فهي توفر أدوات لتحليل الصور، بما في ذلك حساب الهيستوجرام وتحويل مساحة الألوان وتجزئة الصور. إنها خيار مثالي للمطورين والباحثين والمتحمسين على حد سواء. تقدم المكتبة واجهة برمجة تطبيقات فعّالة وسهلة الاستخدام لمعالجة الصور، والتي يمكن أن تكون مفيدة بشكل خاص في البيئات المحدودة الموارد. سواء كنت تعمل على مشروع يتطلب معالجة الصور، أو تريد ببساطة تجربة معالجة الصور، فإن Apache Commons Imaging يستحق الاستكشاف بالتأكيد.
البدء باستخدام Apache Commons Imaging
الطريقة الموصى بها لتثبيت Apache Commons Imaging هي استخدام Maven Repository. يُرجى استخدام الأمر التالي لتثبيت سلس.
مستودع Maven لـ Apache Commons Imaging
<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>
تثبيت Apache Commons Imaging عبر GitHub
go get -u https://github.com/apache/commons-imaging.git
يمكنك تنزيل المكتبة مباشرة من صفحة المنتج GitHub
تحويل الصور داخل تطبيقات java
قد يلزم تحويل المخططات المخزنة بتنسيق واحد (مثل PNG) إلى تنسيق آخر (مثل BMP أو JPEG) لأغراض التوافق أو التحسين. يوفر Apache Commons Imaging ميزات التحويل، مما يسمح للمطورين بتحويل تنسيقات ملفات الصور المختلفة بين التنسيقات المدعومة دون عناء. يوضح المثال التالي مدى سهولة تحويل مطوري البرامج لملف PNG إلى تنسيق BMP. العملية بسيطة ويمكنها التعامل مع التحويلات بين أي تنسيقات مدعومة، مما يجعلها مثالية للتطبيقات التي تحتاج إلى حفظ الصور بتنسيقات متعددة لأغراض التوافق.
كيفية تحويل ملف PNG إلى تنسيق ملف BMP عبر واجهة برمجة تطبيقات Java؟
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
يمكن استخدام Apache Commons Imaging بالاشتراك مع مكتبات Java أخرى مثل BufferedImage لإجراء تحويلات الصور الشائعة مثل تغيير الحجم والقص والتدرج. يتم استخدام طريقة Scalr.resize() من مكتبة معالجة صور Java أخرى (imgscalr) لتغيير الحجم، متبوعة بحفظ الصورة التي تم تغيير حجمها باستخدام Apache Commons Imaging. يسمح هذا بالتكامل السلس مع مكتبات Java الأخرى للتلاعب المتقدم بالصور.
كيفية تغيير حجم الصورة داخل تطبيقات Java؟
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
تتمثل إحدى الميزات الرئيسية لبرنامج Apache Commons Imaging في قدرته على استخراج البيانات التعريفية من الصور داخل تطبيقات Java. بالنسبة للمخططات، يمكن أن تحتوي هذه البيانات التعريفية على معلومات مفيدة مثل تاريخ الإنشاء أو تاريخ التعديل أو تفاصيل المؤلف. تتيح هذه القدرة للمطورين معالجة صور المخططات بطرق تتجاوز مجرد العرض. يوضح المثال التالي كيف يمكن لمطوري البرامج استخراج البيانات التعريفية من الصور داخل تطبيقات Java.
كيفية استخراج البيانات الوصفية من الصور عبر واجهة برمجة تطبيقات Java؟
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
يمكن لمطوري البرامج استخدام Apache Commons Imaging لإنشاء صور أثناء التنقل أو تعديل الصور الموجودة داخل تطبيقات Java. من خلال الجمع بين المكتبة وGraphics2D الأصلية في Java، من الممكن الرسم على الصور برمجيًا أو إضافة تعليقات توضيحية. ينشئ مثال التعليمات البرمجية التالي صورة فارغة، ويضيف نصًا إليها، ويحفظها كملف PNG. يوضح كيف يمكن لـ Apache Commons Imaging العمل مع واجهات برمجة تطبيقات الرسم في Java لإنشاء صور من الصفر.
كيفية إنشاء صور من الصفر عبر Java؟
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);