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

ShaderNameNamn som shadern registreras under; ange det till SetFillShader eller SetLineShader för att måla med meshen
VerticesArray 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
BitsPerCoordinateKvantiseringsbitar för hörnpunktskoordinater, mellan 1 och 32
BitsPerComponentKvantiseringsbitar per färgkomponent, mellan 1 och 16
BoundsX0, BoundsY0, BoundsX1, BoundsY1Avkodningsrektangel som avbildar de packade hörnpunktskoordinaterna i shadingens koordinatrymd

Returvärden

0Meshen skapades inte, eftersom inget dokument är valt, färre än en hel triangel angavs eller en bitparameter ligger utanför intervallet
1Meshen 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');