THotPDF.RegisterLabColorSpace Method

 

THotPDF.RegisterLabColorSpace

THotPDF

 

Viršus

Registruoja PDF 1.3 CIELab spalvų erdvę (ISO 32000-1 8.6.5.3) pagal automatiškai sugeneruotą išteklių vardą (Lab1, Lab2, ...). Naudokite grąžintą vardą su THPDFPage.SetFillColorSpace / SetStrokeColorSpace, po to SetFillColor / SetStrokeColor perduodami trys L*a*b* komponentai

 

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);

 

Aprašas

CIELab spalvų erdvė aprašo spalvas nepriklausomai nuo bet kurio rodymo ar spausdinimo įrenginio: L* išreiškia šviesumą intervale [0..100], a* žalia / raudona ašį, b* mėlyna / geltona ašį (paprastai [-128..127]). Atitinkantys PDF žiūrikliai konvertuoja L*a*b* į įrenginio spalvą naudodami sukonfigūruotą WhitePoint apšvietimą. Dažni apšvietimai:

 

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

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

 

WhitePoint Y pagal specifikaciją turi būti 1.0; X ir Z turi būti teigiami. Jei visi keturi Range parametrai perduodami kaip 0, naudojama specifiška numanomoji reikšmė [-100 100 -100 100]; ne nulinę kombinaciją perdavus bus naudoti jūsų nurodyti rėžiai

 

Grąžinama reikšmė: automatiškai sugeneruotas išteklių vardas (Lab1, Lab2, ...). Grąžina tuščią eilutę, kai įjungtas StrictVersionLock ir aktyvi Version yra žemiau PDF 1.3, kitu atveju dokumento versija automatiškai keliamą iki 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;

 

See Also

Version, Compression, PDF Filter Support