THotPDF.RegisterLabColorSpace Methode

 

THotPDF.RegisterLabColorSpace

THotPDF

 

Boven

Registreert een PDF 1.3 CIELab-kleurspatie (ISO 32000-1 8.6.5.3) onder een automatisch gegenereerde resourcenaam (Lab1, Lab2, ...). Gebruik de teruggegeven naam met THPDFPage.SetFillColorSpace / SetStrokeColorSpace, gevolgd door SetFillColor / SetStrokeColor met de drie L*a*b*-componenten

 

Delphi-syntaxis:

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

 

C++-syntaxis:

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

 

Beschrijving

De CIELab-kleurspatie beschrijft kleuren onafhankelijk van elk beeldscherm of afdrukapparaat: L* drukt de lichtheid uit in [0..100], a* de groen-rood-as en b* de blauw-geel-as (meestal [-128..127]). Conformerende PDF-viewers zetten L*a*b* om naar apparaatkleur met de geconfigureerde WhitePoint-illuminant. Gangbare illuminanten:

 

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

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

 

WhitePoint Y moet volgens spec tabel 64 gelijk zijn aan 1.0; X en Z moeten positief zijn. Als alle vier Range-parameters nul zijn, valt de specificatie terug op de impliciete standaard [-100 100 -100 100]; geef een willekeurige niet-nulcombinatie door om dit te overschrijven

 

Retourwaarde: een automatisch gegenereerde resourcenaam (Lab1, Lab2, ...). Geeft een lege tekenreeks terug wanneer StrictVersionLock aan staat en de actieve Version onder PDF 1.3 ligt (anders wordt de versie automatisch naar 1.3 verhoogd)

 

Codevoorbeeld

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

 

Zie ook

Version, Compression, PDF-filterondersteuning