THotPDF.RegisterLabColorSpace Method

 

THotPDF.RegisterLabColorSpace

THotPDF

 

ด้านบน

ลงทะเบียนสเปซสี PDF 1.3 CIELab (ISO 32000-1 8.6.5.3) ภายใต้ชื่อทรัพยากรที่สร้างขึ้นโดยอัตโนมัติ (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* เป็นสีของอุปกรณ์โดยใช้แหล่งกำเนิดแสง WhitePoint ที่กำหนดไว้ แหล่งกำเนิดแสงทั่วไป:

 

D50  - ICC print standard. WhitePoint = [0.9505, 1.0, 1.089].

D65  - sRGB / display standard. WhitePoint = [0.95047, 1.0, 1.08883].

 

WhitePoint Y ต้องเท่ากับ 1.0 ตามตารางข้อกำหนด 64 ส่วน X และ Z ต้องเป็นบวก การส่งผ่านพารามิเตอร์ของช่วง (Range) ทั้งสี่ตัวเป็นศูนย์จะเปลี่ยนกลับไปใช้ค่าเริ่มต้นโดยนัยของข้อกำหนดคือ [-100 100 -100 100] ส่งผ่านการผสมผสานที่ไม่ใช่ศูนย์เพื่อแทนที่

 

ค่าที่ส่งคืน: ชื่อทรัพยากรที่สร้างขึ้นโดยอัตโนมัติ (Lab1, Lab2, ...) ส่งคืนสตริงว่างเมื่อเปิด StrictVersionLock และเวอร์ชันปัจจุบันต่ำกว่า 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