THotPDF.RegisterLabColorSpace-Methode

 

THotPDF.RegisterLabColorSpace

THotPDF

 

Übersicht

Registriert einen PDF 1.3 CIELab-Farbraum (ISO 32000-1 8.6.5.3) unter einem automatisch generierten Ressourcennamen (Lab1, Lab2, ...) — Verwenden Sie den zurückgegebenen Namen mit THPDFPage.SetFillColorSpace / SetStrokeColorSpace, gefolgt von SetFillColor / SetStrokeColor unter Übergabe der drei L*a*b*-Komponenten

 

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

 

Beschreibung

Der CIELab-Farbraum beschreibt Farben unabhängig von Anzeige- oder Druckgeräten: L* gibt die Helligkeit in [0..100] an, a* die Grün/Rot-Achse, b* die Blau/Gelb-Achse (typischerweise [-128..127]) — Konforme PDF-Viewer konvertieren L*a*b* unter Verwendung des konfigurierten WhitePoint-Lichtartwerts in Gerätefarben — Gängige Lichtarten:

 

D50  — ICC-Druckstandard — WhitePoint = [0.9505, 1.0, 1.089]

D65  — sRGB- / Display-Standard — WhitePoint = [0.95047, 1.0, 1.08883]

 

Gemäß Spezifikationstabelle 64 muss WhitePoint Y gleich 1.0 sein; X und Z müssen positiv sein — Wenn alle vier Range-Parameter als Null übergeben werden, wird auf den impliziten Standardwert der Spezifikation [-100 100 -100 100] zurückgegriffen; übergeben Sie eine beliebige Kombination ungleich Null, um diesen zu überschreiben

 

Rückgabewert: ein automatisch generierter Ressourcenname (Lab1, Lab2, ...) — Gibt einen leeren String zurück, wenn StrictVersionLock aktiviert ist und die aktive Version unter PDF 1.3 liegt (andernfalls wird die Version automatisch auf 1.3 erhöht)

 

Codebeispiel

// D50-Lab-Farbraum für den Druck registrieren, ein Magenta-Farbfeld zeichnen
var
  CSName: AnsiString;
begin
  HPDF.Version := pdf14;
  HPDF.BeginDoc;
  CSName := HPDF.RegisterLabColorSpace(
    0.9505, 1.0, 1.089,        // D50 WhitePoint
    -128, 127, -128, 127);     // standardmäßiger a*- und b*-Bereich
  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;

 

Siehe auch

Version, Compression, PDF-Filterunterstützung