THotPDF.RegisterLabColorSpace – metoda

 

THotPDF.RegisterLabColorSpace – metoda

THotPDF

 

Nahoru

Registruje barevný prostor CIELab pro PDF 1.3 (ISO 32000-1 8.6.5.3) pod automaticky generovaným názvem zdroje (Lab1, Lab2, ...). Vrácený název použijte s THPDFPage.SetFillColorSpace / SetStrokeColorSpace a poté se SetFillColor / SetStrokeColor s předáním tří složek L*a*b*

 

Syntaxe Delphi:

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

 

Syntaxe C++:

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

 

Popis

Barevný prostor CIELab popisuje barvy nezávisle na jakémkoli zobrazovacím nebo tiskovém zařízení: L* vyjadřuje světlost v rozsahu [0..100], a* osu zelená/červená, b* osu modrá/žlutá (typicky [-128..127]). Vyhovující prohlížeče PDF převádějí L*a*b* na barvu zařízení pomocí nakonfigurovaného iluminantu WhitePoint. Běžné iluminanty:

 

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

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

 

WhitePoint Y se podle tabulky 64 specifikace musí rovnat 1.0; X a Z musí být kladné. Předání všech čtyř parametrů Range jako nula použije implicitní výchozí hodnotu specifikace [-100 100 -100 100]; pro přepsání předejte jakoukoli nenulovou kombinaci

 

Vrácená hodnota: automaticky generovaný název zdroje (Lab1, Lab2, ...). Vrací prázdný řetězec, když je zapnutý StrictVersionLock a aktivní Verze je pod PDF 1.3 (jinak se verze automaticky zvýší na 1.3)

 

Příklad kódu

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

 

Viz také

Verze, Compression, PDF Filter Support