NewRGBLatticeTriangleMesh
Ombrages, graphiques
Description
Crée un maillage de triangles en treillis ombré par la méthode de Gouraud, type d’ombrage PDF 5, et l’enregistre sous ShaderName en couleur DeviceRGB. Les sommets sont émis ligne par ligne avec VerticesPerRow entrées par ligne, le treillis est triangulé par le lecteur conforme et le flux de sommets ne porte aucun indicateur d’arête
Syntaxe
Delphi
Function TPDFlib.NewRGBLatticeTriangleMesh(Const ShaderName: WideString;
Const Vertices: Array Of TPLMeshVertex; VerticesPerRow: Integer;
BitsPerCoordinate, BitsPerComponent: Integer;
Const BoundsX0, BoundsY0, BoundsX1, BoundsY1: Double): Integer;Paramètres
| ShaderName | Nom sous lequel l’ombrage est enregistré ; passez-le à SetFillShader ou SetLineShader pour peindre avec le maillage |
|---|---|
| Vertices | Tableau d’enregistrements TPLMeshVertex (X, Y, R, G, B) avec des composantes de couleur dans la plage 0 à 1, ordonnés ligne par ligne ; la longueur doit être un multiple exact de VerticesPerRow et contenir au moins deux lignes |
| VerticesPerRow | Nombre de sommets par ligne de treillis, au moins 2 |
| BitsPerCoordinate | Bits de quantification des coordonnées des sommets, entre 1 et 32 |
| BitsPerComponent | Bits de quantification par composante de couleur, entre 1 et 16 |
| BoundsX0, BoundsY0, BoundsX1, BoundsY1 | Rectangle de décodage qui projette les coordonnées compactées des sommets dans l’espace de coordonnées de l’ombrage |
Valeurs de retour
| 0 | Le maillage n’a pas été créé, parce qu’aucun document n’est sélectionné, que VerticesPerRow est inférieur à 2, que le nombre de sommets n’est pas un multiple de VerticesPerRow ou contient moins de deux lignes, ou qu’un paramètre de bits est hors plage |
|---|---|
| 1 | Le maillage a été enregistré sous ShaderName |
Remarques
Les coordonnées suivent le système à origine en haut à gauche de la bibliothèque et sont traduites en interne (ISO 32000-1 §8.7.4.5.6). Un treillis exige moins de sommets que NewRGBFreeFormTriangleMesh pour des champs de couleur alignés sur une grille, car les sommets partagés ne sont énoncés qu’une fois
Exemple
// 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');