|
THotPDF.RegisterSampledFunction
|
الأعلى |
|
يعلن كائن تدفق غير مباشر Function Type 0 (Sampled) في PDF 1.3+ (ISO 32000-1 7.10.2). تعبر sampled functions عن mapping إدخال إلى إخراج كشبكة N-dimensional منتظمة من عينات إخراج M-dimensional، ويستوفي renderer خطيًا بين نقاط الشبكة. استخدمه عندما تكون ICC profile machinery أكبر من الحاجة لكن يلزم lookup table مضبوط يدويًا
Delphi syntax: function RegisterSampledFunction(const Domain: array of Single; const Range: array of Single; const Size: array of Integer; BitsPerSample: Integer; const Samples: array of byte; Order: Integer = 1): THPDFStreamObject;
C++ syntax: THPDFStreamObject* RegisterSampledFunction(const float* Domain, int DomainCount, const float* Range, int RangeCount, const int* Size, int SizeCount, int BitsPerSample, const unsigned char* Samples, int SamplesCount, int Order = 1);
الوصف The function is emitted as an indirect stream with Order - optional, default 1. Accepts 1 (linear interpolation, PDF 1.7 default) or 3 (cubic-spline interpolation) per PDF 1.7 Table 38. Cubic gives smoother transitions at low sample-grid densities (e.g. 17-point ICC tone curves) but some older mobile readers silently fall back to linear when they encounter an Order value they do not implement. Available since HotPDF v2.54.0. For ASCII-input use cases - the typical authoring path - a single 1-input / M-output function with
Domain - 2N Single values, ordered Range - قيمتا Single لكل بعد إخراج من الأبعاد M؛ تقيد عينات الإخراج إلى هذا النطاق بعد decoding Size - أعداد صحيحة N تعطي عدد نقاط الشبكة على كل محور إدخال. يجب أن يساوي Length(Size) عدد أبعاد الإدخال N. إجمالي grid points هو حاصل ضرب كل مداخل Size BitsPerSample - one of 1, 2, 4, 8, 12, 16, 24, or 32 per PDF 1.7 Table 38. Samples - تدفق العينات الخام bit-packed. يجب أن يكون الطول على الأقل ceil(GridPoints * M * BitsPerSample / 8) بايت. ينسخ HotPDF البايتات المقدمة كما هي إلى كائن stream غير المباشر، وصحة bit-pack مسؤولية المستدعي
القيمة المعادة: THPDFStreamObject غير مباشر حتى يستطيع المستدعون إرفاقه حيث يتوقع Function dictionary. يملك المستند الكائن داخل قائمة IndirectObjects ويحرره عند نهاية المستند. يعيد nil عندما يكون StrictVersionLock مفعّلًا وVersion النشطة أقل من PDF 1.3؛ وإلا يرفع إصدار المستند تلقائيًا إلى 1.3
Code Example
انظر أيضا RegisterAxialGradient, RegisterDeviceN, RegisterSeparation, Version, PDF Filter Support
|