NewRGBLatticeTriangleMesh
Sfumature, grafica
Descrizione
Crea una mesh di triangoli in ombreggiatura Gouraud a reticolo, tipo di shading PDF 5, e la registra sotto ShaderName in colore DeviceRGB. I vertici vengono emessi riga per riga con VerticesPerRow voci per riga, il reticolo viene triangolato dal lettore conforme e lo stream di vertici non porta flag di lato
Sintassi
Delphi
Function TPDFlib.NewRGBLatticeTriangleMesh(Const ShaderName: WideString;
Const Vertices: Array Of TPLMeshVertex; VerticesPerRow: Integer;
BitsPerCoordinate, BitsPerComponent: Integer;
Const BoundsX0, BoundsY0, BoundsX1, BoundsY1: Double): Integer;Parametri
| ShaderName | Nome sotto cui lo shader viene registrato; passarlo a SetFillShader o SetLineShader per dipingere con la mesh |
|---|---|
| Vertices | Array di record TPLMeshVertex (X, Y, R, G, B) con componenti colore nell'intervallo da 0 a 1, ordinati riga per riga; la lunghezza deve essere un multiplo esatto di VerticesPerRow e contenere almeno due righe |
| VerticesPerRow | Numero di vertici per riga del reticolo, almeno 2 |
| BitsPerCoordinate | Bit di quantizzazione per le coordinate dei vertici, tra 1 e 32 |
| BitsPerComponent | Bit di quantizzazione per componente colore, tra 1 e 16 |
| BoundsX0, BoundsY0, BoundsX1, BoundsY1 | Rettangolo di decodifica che mappa le coordinate compresse dei vertici nello spazio coordinate dello shading |
Valori restituiti
| 0 | La mesh non è stata creata, perché nessun documento è selezionato, VerticesPerRow è sotto 2, il conteggio dei vertici non è un multiplo di VerticesPerRow o contiene meno di due righe, oppure un parametro di bit è fuori intervallo |
|---|---|
| 1 | La mesh è stata registrata sotto ShaderName |
Osservazioni
Le coordinate seguono il sistema di origine in alto a sinistra della libreria e vengono tradotte internamente (ISO 32000-1 §8.7.4.5.6). Un reticolo richiede meno vertici di NewRGBFreeFormTriangleMesh per campi di colore allineati alla griglia, perché i vertici condivisi vengono dichiarati una sola volta
Esempio
// 3 columns x 2 rows of color samples
SetLength(Vertices, 6);
for I:= 0 to High(Vertices) do
Begin
Vertices[I].X:= 100+ (I mod 3)* 150;
Vertices[I].Y:= 100+ (I div 3)* 150;
Vertices[I].R:= I/ 5; Vertices[I].G:= 0.5; Vertices[I].B:= 1- I/ 5;
End;
PDF.NewRGBLatticeTriangleMesh('grid', Vertices, 3, 16, 8,
100, 100, 400, 250);
PDF.SetFillShader('grid');