عن المشروع
TwelveMonkeys ImageIO هي مجموعة من الإضافات والامتدادات لحزمة javax.imageio في منصة Java. هدفها المعلن هو إضافة دعم لصيغ ملفات الصور غير المغطاة في JDK، حتى تتمكن التطبيقات من قراءة البيانات الموجودة "في البرية" والاحتفاظ بالوصول إلى الصيغ القديمة.
الصيغ المدعومة (القراءة/الكتابة مبينة في جدول README):
- إضافة BMP: BMP (قراءة/كتابة)، CUR (قراءة)، ICO (قراءة/كتابة)
- إضافة JPEG: JPEG (قراءة/كتابة)، JPEG Lossless (قراءة)
- إضافة TIFF: TIFF (قراءة/كتابة)، BigTIFF (قراءة/كتابة)
- إضافة PSD: PSD (قراءة، كتابة محدودة)، PSB (قراءة)
- إضافة PNM: PAM، PBM، PGM، PPM، PFM
- إضافة PCX: PCX، DCX
- إضافة PICT: PICT، PNTG
- أخرى: DDS، HDR، ICNS، IFF، SGI، TGA، WebP (قراءة)، XWD، Thumbs.db
- المعتمدة على Batik: SVG وWMF (قراءة)، وتتطلب Apache Batik
GIF وPNG وWBMP تتم معالجتها بالفعل بواسطة الإضافات القياسية في JDK؛ وبالنسبة لـ BMP وJPEG وTIFF يقدم المشروع دعمًا موسعًا وميزات إضافية.
الاستخدام: بعد إضافة ملفات JAR، يتم اكتشاف الإضافات تلقائيًا في وقت التشغيل، لذا فإن القراءة الأساسية هي ImageIO.read(file) والكتابة هي ImageIO.write(image, format, file). تعرض الأمثلة المتقدمة في README الحصول على نسخ ImageReader/ImageWriter، وضبط ImageReadParam/ImageWriteParam، وقراءة الصور المصغرة والبيانات الوصفية، والاستعلام عن الأبعاد دون تحميل الصورة كاملة. تشمل الأدوات الإضافية دعم مسار القص في Adobe عبر com.twelvemonkeys.imageio.path.Paths، وعملية تغيير حجم الصورة ResampleOp مع مرشحات متعددة، وDiffusionDither لتذبذب Floyd-Steinberg إلى IndexColorModel. يصف README أيضًا قراءة بيانات قابلة للاستخدام جزئيًا من الصور التالفة عبر توفير BufferedImage وجهة.
التثبيت: إحداثيات Maven تحت groupId com.twelvemonkeys.imageio (على سبيل المثال imageio-jpeg، imageio-tiff)، أو ملفات JAR يدوية على مسار الفئات. بالنسبة لتطبيقات الويب، يوصى باستخدام IIOProviderContextListener للتعامل مع تحميل/إلغاء تحميل الإضافات، مع توفر نسخة Jakarta classifier. عند بناء ملفات JAR "سمينة"، يجب دمج ملفات SPI تحت META-INF/services (على سبيل المثال باستخدام Maven Shade ServicesResourceTransformer).
يستخدم البناء Maven (mvn package)؛ يذكر README أن Oracle JDK 8.x هو JDK الموصى به للبناء ويشير إلى اختلافات محتملة في الاختبارات تحت OpenJDK. المشروع منشور على Maven Central ويربط بشارات CI وCodeQL وOpenSSF Scorecard وBest Practices.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.