THotPDF.RegisterLabColorSpace Méthode

 

THotPDF.RegisterLabColorSpace

THotPDF

 

Haut

Enregistre un espace colorimétrique CIELab PDF 1.3 (ISO 32000-1 8.6.5.3) sous un nom de ressource généré automatiquement (Lab1, Lab2, ...). Utilisez le nom renvoyé avec THPDFPage.SetFillColorSpace / SetStrokeColorSpace puis SetFillColor / SetStrokeColor en passant les trois composants L*a*b*

 

Syntaxe Delphi :

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

 

Syntaxe C++ :

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

 

Description

L'espace colorimétrique CIELab décrit les couleurs indépendamment de tout périphérique d'affichage ou d'impression : L* exprime la clarté dans [0..100], a* l'axe vert/rouge, b* l'axe bleu/jaune (généralement [-128..127]). Les visionneuses PDF conformes convertissent L*a*b* en couleur périphérique à l'aide de l'illuminant WhitePoint configuré. Illuminants courants :

 

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

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

 

WhitePoint Y doit valoir 1.0 selon la table 64 de la spécification ; X et Z doivent être positifs. Si les quatre paramètres Range sont tous à zéro, la valeur implicite par défaut de la spécification [-100 100 -100 100] est utilisée ; passez toute combinaison non nulle pour la remplacer

 

Valeur de retour : un nom de ressource généré automatiquement (Lab1, Lab2, ...). Renvoie la chaîne vide lorsque StrictVersionLock est activé et que la Version courante est inférieure à PDF 1.3 (sinon la version est relevée automatiquement à 1.3)

 

Exemple de code

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

 

Voir aussi

Version, Compression, Prise en charge des filtres PDF