NewRGBFreeFormTriangleMesh
Skuggning, Grafik
Beskrivning
Skapar en friformig Gouraud-skuggad triangelmesh, PDF-shadingtyp 4, och registrerar den under ShaderName i DeviceRGB-färg. Hörnpunkter konsumeras i grupper om tre, där varje grupp beskriver en triangel vars hörnfärger interpoleras över dess yta. Varje triangel matas ut oberoende med en starthörnflagga, så ingen kantdelning mellan trianglar krävs
Syntax
Delphi
Function TPDFlib.NewRGBFreeFormTriangleMesh(Const ShaderName: WideString;
Const Vertices: Array Of TPLMeshVertex; BitsPerCoordinate,
BitsPerComponent: Integer;
Const BoundsX0, BoundsY0, BoundsX1, BoundsY1: Double): Integer;Parametrar
| ShaderName | Namn som shadern registreras under; ange det till SetFillShader eller SetLineShader för att måla med meshen |
|---|---|
| Vertices | Array av TPLMeshVertex-poster (X, Y, R, G, B) med färgkomponenter i intervallet 0 till 1; längden måste vara minst 3 och en multipel av 3 |
| BitsPerCoordinate | Kvantiseringsbitar för hörnpunktskoordinater, mellan 1 och 32 |
| BitsPerComponent | Kvantiseringsbitar per färgkomponent, mellan 1 och 16 |
| BoundsX0, BoundsY0, BoundsX1, BoundsY1 | Avkodningsrektangel som avbildar de packade hörnpunktskoordinaterna i shadingens koordinatrymd |
Returvärden
| 0 | Meshen skapades inte, eftersom inget dokument är valt, färre än en hel triangel angavs eller en bitparameter ligger utanför intervallet |
|---|---|
| 1 | Meshen registrerades under ShaderName |
Anmärkningar
Koordinater följer bibliotekets system med origo i övre vänstra hörnet och översätts internt (ISO 32000-1 §8.7.4.5.5). För gradientshading utan hörnpunktsdata, se NewRGBAxialShader
Exempel
SetLength(Vertices, 3);
Vertices[0].X:= 100; Vertices[0].Y:= 100;
Vertices[0].R:= 1; Vertices[0].G:= 0; Vertices[0].B:= 0;
Vertices[1].X:= 400; Vertices[1].Y:= 100;
Vertices[1].R:= 0; Vertices[1].G:= 1; Vertices[1].B:= 0;
Vertices[2].X:= 250; Vertices[2].Y:= 350;
Vertices[2].R:= 0; Vertices[2].G:= 0; Vertices[2].B:= 1;
PDF.NewRGBFreeFormTriangleMesh('tri', Vertices, 16, 8,
100, 100, 400, 350);
PDF.SetFillShader('tri');