THotPDF.RegisterLabColorSpace Método

 

THotPDF.RegisterLabColorSpace

THotPDF

 

Arriba

Registra un espacio de color CIELab de PDF 1.3 (ISO 32000-1 8.6.5.3) bajo un nombre de recurso generado automáticamente (Lab1, Lab2, ...) Use el nombre devuelto con THPDFPage.SetFillColorSpace / SetStrokeColorSpace seguido de SetFillColor / SetStrokeColor pasando los tres componentes L*a*b*

 

Sintaxis Delphi:

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

 

Sintaxis C++:

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

 

Descripción

El espacio de color CIELab describe los colores de forma independiente de cualquier dispositivo de visualización o impresión: L* expresa la claridad en [0..100], a* el eje verde/rojo y b* el eje azul/amarillo (por lo general [-128..127]) Los visores PDF conformes convierten L*a*b* al color del dispositivo usando el iluminante WhitePoint configurado. Iluminantes comunes:

 

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

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

 

WhitePoint Y debe ser 1.0 según la tabla 64 de la especificación; X y Z deben ser positivos. Si los cuatro parámetros Range se pasan como cero, se usa el valor predeterminado implícito de la especificación [-100 100 -100 100]; pase cualquier combinación distinta de cero para reemplazarlo

 

Valor devuelto: un nombre de recurso generado automáticamente (Lab1, Lab2, ...) Devuelve la cadena vacía cuando StrictVersionLock está activado y la Version activa es inferior a PDF 1.3; en caso contrario la versión sube automáticamente a 1.3

 

Ejemplo de código

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

 

Véase también

Version, Compression, Soporte de filtros PDF