THotPDF.RegisterLabColorSpace-metode

 

THotPDF.RegisterLabColorSpace

THotPDF

 

Øverst
Placeholder for topic body

Registrerer et PDF 1.3 CIELab-farverum (ISO 32000-1 8.6.5.3) under et autogenereret ressourcenavn (Lab1, Lab2, ...); brug det returnerede navn medTHPDFPage.SetFillColorSpace / SetStrokeColorSpace efterfulgt af SetFillColor / SetStrokeColor, der overfører de tre L*a*b*-komponenter

 

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-farverummet beskriver farver uafhængigt af enhver skærm- eller printerenhed: L* udtrykker lysstyrke i [0..100], a* grøn/rød-aksen, b* blå/gul-aksen (typisk [-128..127]); kompatible PDF-visere konverterer L*a*b* til enhedsfarve ved hjælp af den konfigureredeWhitePointlyskilde; almindelige lyskilder:

 

D50  - ICC-printstandard; WhitePoint = [0.9505, 1.0, 1.089]

D65  - sRGB / skærmstandard; WhitePoint = [0.95047, 1.0, 1.08883]

 

WhitePoint Y skal være lig med 1.0 pr. specifikationstabel 64; X og Z skal være positive; overførsel af alle fire Range-parametre som nul falder tilbage på specifikationens implicitte standard[-100 100 -100 100]; overfør enhver ikke-nul kombination for at tilsidesætte

 

Returværdi: et autogenereret ressourcenavn (Lab1, Lab2, ...); returnerer den tomme streng, nårStrictVersionLocker slået til og den aktiveVersioner under PDF 1.3 (ellers opgraderes versionen 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, PDF-filterunderstøttelse