معالجة Windows ملفات التعريف

Windows تنسيق ملف التعريف هو تنسيق ملف صورة يمكن أن يحتوي على كل من الرسومات المتجهة والنقطية. يستخدم هذا التنسيق لتخزين بيانات الرسومات في الذاكرة أو الملفات الموجودة على القرص. يخزن ملف التعريف قائمة باستدعاءات الوظائف في Windows واجهة جهاز الرسومات (GDI) التي يجب تنفيذها لعرض الصورة على الشاشة. يفسر النظام هذه الأوامر وينفذها في سياق العرض.

في السابق، كان ملف التعريف Windows هو تنسيق الصورة المتجه الوحيد الذي يدعمه Microsoft Word. Microsoft Word الآن يدعم أيضا تنسيق SVG، ولكن تنسيق ملف التعريف لا يزال يستخدم بشكل شائع في مستندات ورد. أيضا، يمكن أن يكون ملف التعريف تنسيق تبادل لبعض التطبيقات الأخرى، مثل Microsoft فيسيو. بشكل أساسي، الغرض الرئيسي من ملف التعريف هو ضمان تبادل المعلومات الرسومية بين تطبيقات Windows.

هناك 3 إصدارات Windows ميتافيل:

  • WMF - استدعاء المتاجر إلى 16 بت GDI.
  • EMF - مخازن دعوة للفوز 32 / GDI.
  • EMF+ مخازن ميتافيل دعوة إلى GDI+. EMF + ميتافيل قد تكون أيضا مزدوجة، واصفا نفس الرسومات مع كل من EMF و EMF + أجزاء.

المشكلة الحالية مع ملف التعريف Windows هي أنه غير مدعوم من قبل معظم تنسيقات غير الكلمات، والتي يتم حفظ المستندات عليها عادة. لذلك، يلزم تحويل تنسيق ملف التعريف إلى تنسيقات نقطية أو متجهة أخرى. من السهل تحويل Windows ملف التعريف إلى صورة نقطية على .NET بمجرد تمريرها إلى GDI+، ولكن هذا غير ممكن على الأنظمة الأساسية الأخرى لأنه حتى GDI+ لا يوفر الوظيفة لاستخراج الرسومات المتجهة من ملف التعريف. لحل هذه المشكلات، ينفذ Aspose.Words مشغل ملف التعريف الخاص به Windows، والذي يمكنه تشغيل تنسيق ملف التعريف على حد سواء المتجه والرسومات النقطية على جميع الأنظمة الأساسية.

التحكم في مشغل ملف التعريف Aspose.Words

تتيح لك فئة MetafileRenderingOptions التحكم في مشغل ملف التعريف. على سبيل المثال، يمكنك تحديد كيفية عرض صور ملف التعريف باستخدام خاصية RenderingMode، والتي لها معنى خاص عند التحويل إلى صور نقطية (انظر أيضا خاصية MetafileRenderingOptions).

دعم العمليات النقطية

العمليات النقطية هي ميزة ملف التعريف المعقدة، التي لديها حاليا دعم محدود. تتوفر العمليات النقطية بتنسيقات ملف التعريف WMF و EMF. لا يستخدم تنسيق EMF+ ملف التعريف العمليات النقطية مباشرة ولكن يمكن أن يحتوي على EMF أجزاء، مضمنة WMF أو EMF ملفات التعريف.

هناك عمليات نقطية ثنائية وثلاثية:

  • يتم تطبيق العمليات النقطية الثنائية على أوامر الرسم بالقلم، مثل رسم الخطوط والمنحنيات. عند رسم خط، يتم دمج لون القلم مع لون الصورة النقطية الوجهة (لون البكسل المقابل على سطح الجهاز) باستخدام عمليات منطقية محددة في اتجاه البت مع قيم ألوان سداسية عشرية. يوضح مثال الصورة أدناه تأثير جميع العمليات النقطية الثنائية الـ 16 المطبقة على 20 شريطا مختلفا من الألوان. يتم رسم أشرطة الألوان الرأسية أولا، ويتم رسم الأشرطة الأفقية بعد تطبيق كل عملية نقطية ثنائية. للحالات البسيطة ،R2_BLACK يرسم الأسود، R2_NOT يعكس اللون، R2_NOP لا يغير الخلفية، و R2_WHITE يرسم الأبيض.
handling-windows-metafiles-aspose-words-java-1
  • يتم تطبيق العمليات النقطية الثلاثية عند رسم الصور النقطية. فهي تجمع بين ألوان بكسل الصورة النقطية المقابلة والفرشاة والصورة النقطية الوجهة باستخدام عمليات منطقية ذات اتجاه بت مع قيم ألوان سداسية محددة. أحد الأغراض الأكثر شيوعا لاستخدام العمليات النقطية الثلاثية هو محاكاة الشفافية. توضح الصورة الواردة في المثال أدناه كيف يمكن محاكاة شفافية الرمز. هناك نوعان من الصور النقطية: الصورة النقطية لقناع ب/ث والصورة النقطية الملونة. أولا، يتم رسم الصورة النقطية للقناع باستخدام عملية SRCAND النقطية. يغير منطقة الرمز غير الشفاف إلى الأسود والأبيض، تاركا المنطقة الشفافة دون تغيير. ثم يتم رسم الصورة النقطية الثانية باستخدام عملية SRCINVERT النقطية. فإنه يعرض بكسل اللون على المنطقة السوداء، وترك المنطقة شفافة دون تغيير.
handling-windows-metafiles-aspose-words-java-2

لا يمكن تحويل العمليات النقطية إلى رسومات متجهة مباشرة. Aspose.Words يحاكي العمليات النقطية عن طريق تنقيط سطح الجهاز المتأثر بالعمليات النقطية جزئيا. لهذا الغرض، يتم استخدام خاصية EmulateRasterOperations.

يوضح المثال الموضح أدناه كيف Aspose.Words يعرض ملف تعريف إلى صورة نقطية عندما لا يكون من الممكن عرض بعض سجلات ملف التعريف بشكل صحيح على رسومات متجهة: