|
THotPDF.RegisterTensorProductPatchMesh
|
الأعلى |
|
يعلن tensor product patch mesh shading في PDF 1.3+ (ISO 32000-1 8.7.4.5.7, /ShadingType 7) ويلفه في Pattern Type 2 inline ضمن Resources/Pattern. كل patch شبكة كاملة 4 x 4 من نقاط تحكم bicubic Bezier p[i][j] مع لون في كل زاوية. استخدمه عندما لا يستطيع RegisterCoonsPatchMesh التعبير عن شكل الداخل
Delphi syntax: function RegisterTensorProductPatchMesh(XMin, YMin, XMax, YMax: Single; NumComponents: Integer; const Patches: array of Extended): AnsiString;
C++ syntax: AnsiString RegisterTensorProductPatchMesh(float XMin, float YMin, float XMax, float YMax, int NumComponents, const Extended* Patches, int PatchesElementCount);
الوصف يصدر shading كتدفق غير مباشر مع /ShadingType 7 و/BitsPerCoordinate 16 و/BitsPerComponent 8 و/BitsPerFlag 8. يحزم كل patch كـ flag byte ثم 16 نقطة تحكم وأربعة ألوان للزوايا، بإجمالي 1 + 64 + 4 * NumComponents bytes لكل patch تشكل نقاط التحكم الـ 16 شبكة 4 x 4 حيث i هو row index وj هو column index. يتبع ترتيب stream في المواصفة Table 88 النقاط الحدودية الـ 12 أولًا باتجاه عقارب الساعة ثم النقاط الداخلية الأربع p[1][1] وp[1][2] وp[2][2] وp[2][1]. تتبع مصفوفة Patches المقدمة من المستخدم الترتيب نفسه عندما تقع نقاط التحكم الـ 16 على lattice منتظمة 1/3 / 2/3، تتحول bicubic Bezier surface إلى مستوى مسطح ويتحول استيفاء اللون إلى bilinear، وهو مكافئ بصريًا لـ RegisterCoonsPatchMesh بحواف مستقيمة أو RegisterFreeFormGouraudShading بأربع زوايا
XMin وYMin وXMax وYMax - مستطيل user-space الذي يحد الإحداثيات المشفرة. تصبح هذه القيم أول مداخل /Decode، ويجب وضعها في إحداثيات user-space نفسها التي سيرسم فيها NumComponents - عدد مكونات اللون لكل زاوية. مرر 1 لـ DeviceGray أو 3 لـ DeviceRGB أو 4 لـ DeviceCMYK. أي قيمة أخرى ترفع exception Patches - مصفوفة مسطحة من قيم Extended. يساهم كل patch بـ 32 + 4 * NumComponents قيمة: 32 float لنقاط التحكم الـ 16 ثم 4 * NumComponents float لألوان الزوايا. يجب أن يكون طول المصفوفة مضاعفًا موجبًا لهذا stride. كل patches الصادرة تحمل flag = 0
القيمة المعادة: اسم pattern مولد تلقائيًا (Sh1, Sh2, ...) ومسجل في قاموس Resources/Pattern للصفحة الحالية. يعيد سلسلة فارغة عندما يكون StrictVersionLock مفعّلًا وVersion النشطة أقل من PDF 1.3؛ وإلا يرفع إصدار المستند تلقائيًا إلى 1.3
Code Example
انظر أيضا RegisterCoonsPatchMesh, RegisterFreeFormGouraudShading, RegisterLatticeFormGouraudShading, Version, PDF Filter Support
|