THotPDF.RegisterLabColorSpace Method

 

THotPDF.RegisterLabColorSpace

THotPDF

 

Øverst

Registrerer et PDF 1.3 CIELab-fargerom (ISO 32000-1 8.6.5.3) under et automatisk generert ressursnavn (Lab1, Lab2, ...). Bruk det returnerte navnet sammen med THPDFPage.SetFillColorSpace / SetStrokeColorSpace etterfulgt av SetFillColor / SetStrokeColor med de tre L*a*b*-komponentene

 

Delphi-syntaks:

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

 

C++-syntaks:

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

 

Beskrivelse

CIELab-fargerommet beskriver farger uavhengig av enhver skjerm- eller utskriftsenhet: L* uttrykker lyshet i [0..100], a* den grønn/røde aksen, b* den blå/gule aksen (vanligvis [-128..127]). PDF-visere som følger spesifikasjonen konverterer L*a*b* til enhetsfarge ved hjelp av det konfigurerte WhitePoint-lyset. Vanlige lyskilder:

 

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

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

 

WhitePoint Y må være 1.0 i henhold til spesifikasjonens tabell 64; X og Z må være positive. Hvis alle fire Range-parametrene sendes som null, brukes spesifikasjonens implisitte standard [-100 100 -100 100]; send en hvilken som helst ikke-null kombinasjon for å overstyre

 

Returverdi: et automatisk generert ressursnavn (Lab1, Lab2, ...). Returnerer en tom streng når StrictVersionLock er på og den aktive Version er under PDF 1.3 (ellers oppgraderes dokumentversjonen automatisk til 1.3)

 

Kodeeksempel

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

 

Se også

Version, Compression, Støtte for PDF-filtre