THotPDF.RegisterLabColorSpace-metodi

THotPDF.RegisterLabColorSpace

THotPDF

Ylös

Rekisteröi PDF 1.3 CIELab -väriavaruuden (ISO 32000-1 8.6.5.3) automaattisesti luodulla resurssinimellä (Lab1, Lab2, ...). Käytä palautettua nimeä luokan THPDFPage metodeilla SetFillColorSpace / SetStrokeColorSpace, joita seuraa SetFillColor / SetStrokeColor välittäen kolme L*a*b*-komponenttia

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

Kuvaus

CIELab-väriavaruus kuvailee värit riippumatta mistään näyttö- tai tulostuslaitteesta: L* ilmaisee valoisuutta välillä [0..100], a* vihreä-punainen-akselia, b* sininen-keltainen-akselia (tyypillisesti [-128..127]). Yhteensopivat PDF-katseluohjelmat muuntavat L*a*b*-arvot laitteen väriksi käyttäen määritettyä WhitePoint-valonlähdettä. Yleisimmät valonlähteet:

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

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

Valkoisen pisteen (WhitePoint) Y-arvon on oltava 1.0 määrittelyn taulukon 64 mukaan; X- ja Z-arvojen on oltava positiivisia. Välittämällä kaikki neljä Range-parametria nollana palataan määrittelyn implisiittiseen oletukseen [-100 100 -100 100]; välitä mikä tahansa nollasta poikkeava yhdistelmä kumotaksesi oletuksen

Paluuarvo: automaattisesti luotu resurssin nimi (Lab1, Lab2, ...). Palauttaa tyhjän merkkijonon, kun StrictVersionLock on käytössä ja aktiivinen Version on alle PDF 1.3 (muussa tapauksessa versio korotetaan automaattisesti arvoon 1.3)

Code Example

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

See Also

Version, Compression, PDF Filter Support