|
يسجل مساحة ألوان CIELab في PDF 1.3 وفق ISO 32000-1 8.6.5.3 تحت اسم resource مولد تلقائيًا مثل Lab1 وLab2. استخدم الاسم المعاد مع THPDFPage.SetFillColorSpace أو SetStrokeColorSpace ثم SetFillColor أو SetStrokeColor مع تمرير مكونات L*a*b* الثلاثة
Delphi syntax:
function RegisterLabColorSpace(WhitePointX, WhitePointY, WhitePointZ: Single; RangeAMin, RangeAMax, RangeBMin, RangeBMax: Single): AnsiString;
C++ syntax:
AnsiString RegisterLabColorSpace(float WhitePointX, float WhitePointY, float WhitePointZ, float RangeAMin, float RangeAMax, float RangeBMin, float RangeBMax);
الوصف
تصف مساحة ألوان CIELab الألوان بمعزل عن جهاز العرض أو الطباعة: يعبر L* عن الإضاءة ضمن [0..100]، وa* عن محور الأخضر/الأحمر، وb* عن محور الأزرق/الأصفر، عادة ضمن [-128..127]. يحول عارضو PDF المطابقون L*a*b* إلى لون الجهاز باستخدام illuminant المحدد في WhitePoint. illuminants الشائعة:
D50 - ICC print standard. WhitePoint = [0.9505, 1.0, 1.089].
D65 - sRGB / display standard. WhitePoint = [0.95047, 1.0, 1.08883].
WhitePoint Y must equal 1.0 per spec table 64; X and Z must be positive. Passing all four Range parameters as zero falls back to the spec's implicit default [-100 100 -100 100]; pass any non-zero combination to override.
القيمة المعادة: اسم resource مولد تلقائيًا مثل Lab1 وLab2 وما بعدها. يعاد النص الفارغ عندما يكون StrictVersionLock مفعّلًا وتكون Version النشطة أقل من PDF 1.3؛ وإلا يرفع الإصدار تلقائيًا إلى 1.3
Code Example
// Register a D50 Lab space for print, paint a magenta swatch
var
CSName: AnsiString;
begin
HPDF.Version := pdf14;
HPDF.BeginDoc;
CSName := HPDF.RegisterLabColorSpace(
0.9505, 1.0, 1.089, // D50 WhitePoint
-128, 127, -128, 127); // standard a* and b* range
HPDF.CurrentPage.SetFillColorSpace(CSName);
HPDF.CurrentPage.SetFillColor([50.0, 60.0, -50.0]); // L* a* b*
HPDF.CurrentPage.Rectangle(60, 60, 200, 100);
HPDF.CurrentPage.Fill;
HPDF.EndDoc;
end;
انظر أيضا
Version, Compression, PDF Filter Support
|