دعم صيغة صور JPEG2000

نظرة عامة

يوفر HotPDF دعمًا شاملًا لصيغ صور JPEG2000، بما في ذلك ملفات JP2 وJ2K JPEG2000 معيار ضغط صور قائم على التحويل المويجي (wavelet) يوفر كفاءة ضغط وجودة متفوقتين مقارنةً بصيغة JPEG التقليدية

الصيغ المدعومة

  • JP2: صيغة الجزء الأول من JPEG2000 ببنية ملف كاملة
  • J2K: صيغة تدفق شيفرة JPEG2000 (بيانات مضغوطة خام)

الميزات الرئيسية

  • كشف تلقائي للصيغة ومعالجة مناسبة لها
  • دعم كل من الضغط بلا فقدان والضغط مع فقدان
  • دعم الصور متعددة المكونات (RGB وRGBA وتدرج رمادي)
  • دعم متقدم لعمق البت (8 أو 12 أو 16 بت لكل مكون)
  • فك تشفير مباشر ومُتحقَّق منه لبلاطات تدفق الشيفرة مع بيانات وصف شبكة البلاطات
  • فك تشفير مدمج للمنطقة المصدر ولمنطقة الاهتمام بدقة أُسّ اثنين
  • ميزانيات إخراج مفكوك للتعامل مع تدفقات شيفرة ضارة أو كبيرة بشكل غير متوقع
  • اختيار تلقائي لدقة المُصيِّر من بكسلات الهدف المرئية
  • إعادة بناء متوازية محدودة للبلاطات المتقاطعة المستقلة
  • قياس حتمي للتركيب والإلغاء وحد العمال وذروة الذاكرة

مثال استخدام


// Delphi example - Adding JPEG2000 image to PDF
procedure AddJPEG2000Image;
var
  PDF: THotPDF;
begin
  PDF := THotPDF.Create(nil);
  try
    PDF.FileName := 'output.pdf';
    PDF.BeginDoc;
    PDF.AddPage;

    // Add JPEG2000 image - format is automatically detected
    PDF.AddImage('sample.jp2', 100, 100, 200, 150);

    // J2K codestream format is also supported
    PDF.AddImage('sample.j2k', 100, 300, 200, 150);

    PDF.EndDoc;
  finally
    PDF.Free;
  end;
end;
        

التنفيذ التقني

يُنفَّذ دعم JPEG2000 عبر وحدة HPDFJpeg2000.pas، التي توفر:

  • THPDFJpeg2000Decoder: فئة فك التشفير الرئيسية لمعالجة صور JPEG2000
  • كشف الصيغة: تحديد تلقائي لصيغ JP2 وJ2K وJPT
  • فحص الترويسة: تقرأ InspectHeaderFromByteArray الأبعاد والمكونات وSourceColorSpace دون فك تشفير عينات البكسل
  • معالجة التدفقات: دعم تحميل الصور من الملفات ومن التدفقات على حد سواء
  • الوصول إلى البلاطات: تُفكِّك LoadTileFromByteArray بلاطة واحدة مُتحقَّقًا منها وتُبلِّغ عن إزاحتها المصدرية وشبكتها
  • اختيار الدقة: تجمع LoadRegionFromByteArray بين مستطيل مصدر وعامل تقليل مويجي
  • فك تشفير البلاطات المتوازي: تستخدم LoadRegionFromByteArrayParallel مثيلات فك تشفير مستقلة وتركيبًا حتميًا بترتيب الصفوف
  • ملفات PDF المحمَّلة: تختار DecodeLoadedImageRegionAtResolution مستوًى لا يُنقص الدقة عن أي من البُعدين المستهدفين
  • ضوابط التشغيل: تتحكم JPEG2000ParallelTileDecoding وJPEG2000TileWorkerLimit في تكامل المُصيِّر، بينما تُبلِّغ GetLastJPEG2000ParallelDecodeStats عن الجدولة وتقديرات الميزانية
  • تكامل OpenJPEG: فك تشفير مرتبط أصليًا على Win32 وWin64

فوائد الأداء

  • نِسَب ضغط أفضل من JPEG التقليدي
  • لا عيوب حظر (blocking artifacts) عند معدلات ضغط عالية
  • إرسال وعرض تدريجيان
  • دعم ترميز منطقة الاهتمام (ROI)
  • إعادة بناء متزامنة عندما تعبر منطقة مرئية بلاطات مستقلة من تدفق الشيفرة
  • خيار الضغط بلا فقدان

التوافق

دعم JPEG2000 متاح في إصداري HotPDF لكل من 32 بت و64 بت، وهو متوافق مع جميع إصدارات Delphi وC++ Builder المدعومة

انظر أيضًا