THotPDF.RegisterLabColorSpace Method

 

THotPDF.RegisterLabColorSpace

THotPDF

 

Sus

Înregistrează un spațiu de culoare CIELab PDF 1.3 (ISO 32000-1 8.6.5.3) sub un nume de resursă generat automat (Lab1, Lab2, ...). Folosiți numele returnat cu THPDFPage.SetFillColorSpace / SetStrokeColorSpace, urmate de SetFillColor / SetStrokeColor, transmițând cele trei componente 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);

 

Descriere

Spațiul de culoare CIELab descrie culorile independent de orice dispozitiv de afișare sau imprimare: L* exprimă luminozitatea în [0..100], a* axa verde/roșu, iar b* axa albastru/galben (de obicei [-128..127]). Vizualizatoarele PDF conforme convertesc L*a*b* în culoare de dispozitiv folosind iluminantul WhitePoint configurat. Iluminanți obișnuiți:

 

D50  - standardul de imprimare ICC. WhitePoint = [0.9505, 1.0, 1.089]

D65  - standardul sRGB / afișare. WhitePoint = [0.95047, 1.0, 1.08883]

 

WhitePoint Y trebuie să fie egal cu 1.0 conform tabelului 64 din specificație; X și Z trebuie să fie pozitive. Dacă toate cele patru parametre Range sunt trecute ca zero, se revine la valoarea implicită din specificație [-100 100 -100 100]; transmiteți orice combinație nenulă pentru a o suprascrie

 

Valoare returnată: un nume de resursă generat automat (Lab1, Lab2, ...). Returnează șirul gol când StrictVersionLock este activ și Version curentă este sub PDF 1.3 (în caz contrar versiunea este ridicată automat la 1.3)

 

Exemplu de cod

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

 

Vezi și

Version, Compression, PDF Filter Support