Manipulating TIFF Images

إضافة الإطارات بإعدادات مختلفة

صيغة الـ TIFF مرنة جدًا وتسمح بإضافة إطارات مختلفة، بأبعاد مختلفة وضغط وإعدادات أخرى. تسمح واجهات برمجة التطبيقات في Aspose.PSD بإضافة أي إطار TIFF بأي حجم يساعد في إنشاء وثائق معقدة. إذا كان هناك حاجة لتعديل الإطارات أثناء عملية الإضافة لجعلها جميعًا متساوين، قم باتخاذ الخطوات التالية:

  • إنشاء إطار جديد بيضاء مع الخيارات المطلوبة أو نسخ إطار الصورة المصدر مع تحديد الخيارات المخرجة باستخدام الطريقة CreateFrameFrom.
  • تغيير حجم إطار/الصورة المصدر إلى الأبعاد المطلوبة باستخدام الطريقة Resize.
  • إضافة بكسلات إطار/الصورة المصدر إلى الإطار الجديد.
  • إضافة الإطار الجديد إلى صورة الـ TIFF الناتجة.

تصدير طبقات صورة PSD إلى تنسيق ملف TIFF ذو صفحات متعددة

في بعض الأحيان ، تحتاج إلى تصدير طبقات صورة PSD إلى تنسيق ملف TIFF ذو صفحات متعددة. ستقدم هذه المقالة كيفية أداء هذه المهمة باستخدام واجهة برمجة التطبيقات Aspose.PSD للغة Java. أولاً ، سنقوم بتحميل صورة PSD من القرص. ثم سنقوم بتكرار طبقات صورة PSD وإنشاء TiffFrame من الطبقات المقابلة. أخيرًا ، سنقوم بحفظ صورة TIFF الناتجة في ملف واحد على القرص.

تكوين خيارات TiffOptions

يمكن للمطورين ضبط خصائص مختلفة لفئة Tiffoptions للحصول على النتائج المطلوبة. في هذا المستند ، سنركز على 4 خصائص رئيسية تتحكم في سمات الصورة النهائية.

الخصائص المُدرجة أدناه.

  1.  TiffOptions.Photometric
  2. TiffOptions.Compression
  3. TiffOptions.BitsPerSample
  4. TiffOptions.Predictor

عندما نقوم بتهيئة هيكل Tiffoptions الفارغ ، يتم تعيين كل اختيار إلى قيمته الافتراضية ، على سبيل المثال يتم تعيين ضغط الصورة إلى None ، ويتم تعيين BitsPerSample كـ 1 و Photometric كـ MinIsWhite. الحفظ في هذا التنسيق سيجعل الصورة النهائية سوداء وبيضاء وهذا هو السلوك المتوقع لمثل هذه الاختيارات. من أجل الحصول على النتائج ملونة يجب ضبط كل الخصائص المذكورة أعلاه لقيم تتوافق مع فضاء الألوان المرغوب فيه أو يمكنك تهيئة هيكل Tiffoptions بالإعدادات المحددة مسبقًا كما هو موضح لاحقًا في هذا المقال. المرفق أدناه هو جدول يصف قيم المعلمات المتوقعة التي يمكنك تعيينها من أجل تحقيق النتائج المطلوبة. يرجى ملاحظة أنه يجب تعيين الأعمدة الأربعة من خلال Tiffoptions لحفظ أي صورة مُحملة/انشأت إلى تنسيق ملف TIFF.

 TiffOptions.Photometric TiffOptions.Compression TiffOptions.BitsPerSample TiffOptions.Predictor
Palette LZW/Uncompressed 1/4/8/16 (palette, color mode) قناة واحدة فقط None
MinIsWhite/MinIsBlack LZW/Uncompressed 1/4/8/16 (gray-scale mode) قناة واحدة فقط None
Palette LZW/Uncompressed 8 (palette, color mode) قناة واحدة فقط Horizontal (يتم تحقيق ضغط أكبر لـ LZW من خلال نفس الأنماط)
MinIsWhite/MinIsBlack LZW/Uncompressed 8 (gray-scale mode) قناة واحدة فقط Horizontal (يتم تحقيق ضغط أكبر لـ LZW من خلال نفس الأنماط)
RGB LZW/Uncompressed [8,8,8] (3 RGB قنوات) None/Horizontal
RGB LZW/Uncompressed [8,8,8,8] (3 RGB قنوات والقناة الشفافة الإضافية قد تم تعيينها من خلال TiffOptions.AlphaStorage) في الواقع يتم دعم أي عدد إضافي من القنوات ولكن يجب أن تكون لكل قناة حجم 8 بت مثل [8,8,8,8,8,8] None/Horizontal

يجب ضبط الخصائص الأربعة من خلال TiffOptions من أجل حفظ أي صيغة صورة إلى تنسيق Tiff. عند استخدام مزيجات مختلفة ، قد ترفض بعض برامج المُعاينة (بما في ذلك Windows Photo Viewer) عرض الصورة النهائية بسبب الدعم المحدود الذي يقدمونه. في مثل هذه الحالة ، يرجى اختيار معاين آخر للاختبار الخاص بك.

الإعدادات المحددة مسبقًا لفئة TiffOptions

من أجل تسهيل الأمور للمستخدمين وتجنب سوء تهيئة مثيل فئة Tiffoptions ، قد قامت واجهة برمجة التطبيقات Aspose.PSD للغة Java بتعريض بناء آخر يقبل معلمة من نوع TiffExpectedFormat. بناءً على القيمة المحددة من التعداد TiffExpectedFormat ، يقوم API بضبط جميع الخصائص الإلزامية لمثيل Tiffoptions تلقائيًا من أجل إنتاج النتائج المطلوبة. قبل أن نتحرك نحو كود العينة ، إليك قائمة حقول TiffExpectedFormat وتفاصيلها لفهم أفضل للإستخدام.

  • TiffExpectedFormat.Default: تعيين الحقل إلى Default يعمل بنفس طريقة عمل بناء مثيل افتراضي من الفئة Tiffoptions دون تحديد ضغط وتعيين BitsPerPixel كـ 1 من أجل إنتاج نتيجة سوداء وبيضاء. من المُستحسن استخدام هذا الحقل عندما تحتاج إلى ضبط خصائص معينة من تنسيقات أخرى يدويًا وفقًا للنتائج المطلوبة.
  • TiffExpectedFormat.TiffCcitRle: مخصص لترميز RLE أثناء حفظ النتيجة في تنسيق TIFF بـ 1 بتلين (أسود وأبيض) تنسيق TIFF.
  • TiffExpectedFormat.TiffCcittFax3: مخصص لترميز CCITT Fax3 أثناء حفظ النتيجة في تنسيق TIFF بـ 1 بتلين (أسود وأبيض) تنسيق TIFF.
  • TiffExpectedFormat.TiffCcittFax4: مخصص لترميز CCITT Fax4 أثناء حفظ النتيجة في تنسيق TIFF بـ 1 بتلين (أسود وأبيض) تنسيق TIFF.
  • TiffExpectedFormat.TiffDeflateBW: مخصص لضغط Deflate أثناء حفظ النتيجة بـ 1 بتلين (أسود وأبيض) تنسيق TIFF.
  • TiffExpectedFormat.TiffDeflateRGB: مخصص لضغط Deflate أثناء حفظ النتيجة في تنسيق RGB (ملون) TIFF.
  • TiffExpectedFormat.TiffJpegRGB: مخصص لضغط Jpeg أثناء حفظ النتيجة في تنسيق RGB (ملون) TIFF.
  • TiffExpectedFormat.TiffJpegYCBCR: مخصص لضغط Deflate أثناء حفظ النتيجة في تنسيق YCBCR (ملون) TIFF.
  • TiffExpectedFormat.TiffLzwBW: مخصص لضغط LZW أثناء حفظ النتيجة بـ 1 بتلين (أسود وأبيض) TIFF.
  • TiffExpectedFormat.TiffLzwRGB: مخصص لضغط LZW أثناء حفظ النتيجة في تنسيق RGB (ملون) TIFF.
  • TiffExpectedFormat.TiffLzwRGBA: مخصص لضغط LZW أثناء حفظ النتيجة في تنسيق RGBA (ملون مع الشفافية) TIFF.
  • TiffExpectedFormat.TiffNoCompressionBW: مخصص لتنسيق TIFF غير المضغوط أثناء حفظ النتيجة بـ 1 بتلين (أسود وأبيض).
  • TiffExpectedFormat.TiffNoCompressionRGB: مخصص لتنسيق TIFF غير المضغوط أثناء حفظ النتيجة في RGB (ملون).
  • TiffExpectedFormat.TiffNoCompressionRGBA: مخصص لتنسيق TIFF غير المضغوط أثناء حفظ النتيجة في RGBA (ملون مع الشفافية).

الكود المُقدم أدناه يشرح استخدام حقول TiffExpectedFormat أثناء إنشاء مثيل من الفئة Tiffoptions.

دعم ضغط Deflate وضغط Adobe Deflate

تدعم صيغة ملف الـ TIFF (Tagged Image File Format) أنواعًا مختلفة من ضغوط البيانات حيث يتم تخزين نوع الضغط كعلامة (قيمة صحيحة) في الملف. أحد هذه الأساليب هو ضغط Adobe Deflate (المعروف سابقًا باسم Deflate). تدعم واجهة برمجة التطبيقات Aspose.PSD للغة Java هذه الأسلوب لتصدير وإنشاء صور TIFF.

حفظ الصورة في تنسيق TIFF بضغط Deflate

يُسهل تحويل الصور المحملة إلى تنسيق TIFF بضغط Deflate/Adobe Deflate كما يلي.

إنشاء صورة TiffImage بضغط Adobe Deflate

يوضح العينة أدناه استخدام واجهة Aspose.PSD للغة Java لإنشاء صورة من البداية باستخدام طريقة ضغط Adobe Deflate.

ضغط صور TIFF

يمكن استخدام واجهة Aspose.PSD للغة Java لتحويل صور PSD إلى تنسيق صورة TIFF وحتى تغيير ضغط الصورة الناتجة TIFF. يمكن أيضًا استخدام واجهة البرمجة لتخزين صور مختلفة كإطارات في صورة TIFF لأغراض الأرشفة مع ضغط الصور إلى أدنى حجم بيانات ممكن. يجب أن يتم ضغط الصورة في أي حالة عن طريق تقليل حجم البيانات المصدر بغض النظر عن خوارزمية الضغط المستخدمة. من أجل تحقيق أفضل نسبة ضغط يمكن استخدام فضاءات ألوان فهمية. يقوم مقتطف الكود المقدم أدناه بأفضل ضغط باستخدام 16 لونًا مُفهرسًا فقط وخوارزمية ضغط LZW ومع ذلك فإن الألوان المصدرية تكون مدمجة قليلاً.