متد THotPDF.RegisterLabColorSpace

 

THotPDF.RegisterLabColorSpace

THotPDF

 

بالا

یک فضای رنگ CIELab در PDF 1.3 را زیر یک نام منبع خودکار (Lab1، Lab2، ...) ثبت می‌کند (ISO 32000-1 8.6.5.3). از نام برگردانده‌شده همراه با THPDFPage.SetFillColorSpace / SetStrokeColorSpace و سپس SetFillColor / SetStrokeColor با سه مؤلفهٔ L*a*b* استفاده کنید

 

نحو Delphi:

function RegisterLabColorSpace(WhitePointX, WhitePointY, WhitePointZ: Single; RangeAMin, RangeAMax, RangeBMin, RangeBMax: Single): AnsiString;

 

نحو C++:

AnsiString RegisterLabColorSpace(float WhitePointX, float WhitePointY, float WhitePointZ, float RangeAMin, float RangeAMax, float RangeBMin, float RangeBMax);

 

توضیح

فضای رنگ CIELab رنگ‌ها را مستقل از هر دستگاه نمایش یا چاپ توصیف می‌کند: L* روشنایی را در [0..100] بیان می‌کند، a* محور سبز/قرمز را و b* محور آبی/زرد را (معمولاً [-128..127]). viewerهای منطبق PDF، L*a*b* را با استفاده از illuminant پیکربندی‌شدهٔ WhitePoint به رنگ دستگاه تبدیل می‌کنند. illuminantهای رایج:

 

D50  - استاندارد چاپ ICC. WhitePoint = [0.9505, 1.0, 1.089]

D65  - استاندارد sRGB / نمایش. WhitePoint = [0.95047, 1.0, 1.08883]

 

مولفهٔ Y در WhitePoint باید طبق جدول 64 spec برابر 1.0 باشد و X و Z باید مثبت باشند. اگر هر چهار پارامتر Range را صفر بدهید، پیش‌فرض ضمنی spec یعنی [-100 100 -100 100] استفاده می‌شود؛ برای بازنویسی هر ترکیب غیرصفر را بدهید

 

Return value: یک نام منبع خودکار (Lab1، Lab2، ...). وقتی StrictVersionLock روشن باشد و Version فعال از PDF 1.3 پایین‌تر باشد، رشتهٔ خالی برمی‌گرداند (در غیر این صورت نسخه به‌طور خودکار به 1.3 افزایش می‌یابد)

 

نمونه کد

// 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