Manipulating TIFF Images
إضافة الإطارات بإعدادات مختلفة
صيغة الـ TIFF مرنة جدًا وتسمح بإضافة إطارات مختلفة، بأبعاد مختلفة وضغط وإعدادات أخرى. تسمح واجهات برمجة التطبيقات في Aspose.PSD بإضافة أي إطار TIFF بأي حجم يساعد في إنشاء وثائق معقدة. إذا كان هناك حاجة لتعديل الإطارات أثناء عملية الإضافة لجعلها جميعًا متساوين، قم باتخاذ الخطوات التالية:
- إنشاء إطار جديد بيضاء مع الخيارات المطلوبة أو نسخ إطار الصورة المصدر مع تحديد الخيارات المخرجة باستخدام الطريقة CreateFrameFrom.
- تغيير حجم إطار/الصورة المصدر إلى الأبعاد المطلوبة باستخدام الطريقة Resize.
- إضافة بكسلات إطار/الصورة المصدر إلى الإطار الجديد.
- إضافة الإطار الجديد إلى صورة الـ TIFF الناتجة.
تصدير طبقات صورة PSD إلى تنسيق ملف TIFF ذو صفحات متعددة
في بعض الأحيان ، تحتاج إلى تصدير طبقات صورة PSD إلى تنسيق ملف TIFF ذو صفحات متعددة. ستقدم هذه المقالة كيفية أداء هذه المهمة باستخدام واجهة برمجة التطبيقات Aspose.PSD للغة Java. أولاً ، سنقوم بتحميل صورة PSD من القرص. ثم سنقوم بتكرار طبقات صورة PSD وإنشاء TiffFrame من الطبقات المقابلة. أخيرًا ، سنقوم بحفظ صورة TIFF الناتجة في ملف واحد على القرص.
تكوين خيارات TiffOptions
يمكن للمطورين ضبط خصائص مختلفة لفئة Tiffoptions للحصول على النتائج المطلوبة. في هذا المستند ، سنركز على 4 خصائص رئيسية تتحكم في سمات الصورة النهائية.
الخصائص المُدرجة أدناه.
- TiffOptions.Compression
- TiffOptions.BitsPerSample
- 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 ومع ذلك فإن الألوان المصدرية تكون مدمجة قليلاً.