NewRGBLatticeTriangleMesh

Arcering, Vectorafbeeldingen

Beschrijving

Maakt een rastervormige driehoeksmesh met Gouraud-schakering, PDF-shading type 5, en registreert deze onder ShaderName in DeviceRGB-kleur. Vertices worden rij voor rij geschreven met VerticesPerRow entries per rij, het raster wordt door de conformerende reader getrianguleerd en de vertexstream bevat geen randvlaggen

Syntaxis

Delphi

Function TPDFlib.NewRGBLatticeTriangleMesh(Const ShaderName: WideString;
  Const Vertices: Array Of TPLMeshVertex; VerticesPerRow: Integer;
  BitsPerCoordinate, BitsPerComponent: Integer;
  Const BoundsX0, BoundsY0, BoundsX1, BoundsY1: Double): Integer;

Parameters

ShaderNameNaam waaronder de shader wordt geregistreerd; geef haar door aan SetFillShader of SetLineShader om met de mesh te tekenen
VerticesArray van TPLMeshVertex-records (X, Y, R, G, B) met kleurcomponenten in het bereik 0 tot 1, rij voor rij geordend; de lengte moet een exact veelvoud van VerticesPerRow zijn en ten minste twee rijen bevatten
VerticesPerRowAantal vertices per rasterrij, ten minste 2
BitsPerCoordinateKwantisatiebits voor vertexcoördinaten, tussen 1 en 32
BitsPerComponentKwantisatiebits per kleurcomponent, tussen 1 en 16
BoundsX0, BoundsY0, BoundsX1, BoundsY1Decoderingsrechthoek die de verpakte vertexcoördinaten afbeeldt op de shading-coördinaatruimte

Retourwaarden

0De mesh is niet aangemaakt, omdat geen document is geselecteerd, VerticesPerRow onder 2 ligt, het aantal vertices geen veelvoud van VerticesPerRow is of minder dan twee rijen bevat, of een bits-parameter buiten het bereik valt
1De mesh is geregistreerd onder ShaderName

Opmerkingen

Coördinaten volgen het stelsel met de oorsprong linksboven van de bibliotheek en worden intern vertaald (ISO 32000-1 §8.7.4.5.6). Een raster heeft voor op het raster uitgelijnde kleurvelden minder vertices nodig dan NewRGBFreeFormTriangleMesh, omdat gedeelde vertices één keer worden vermeld

Voorbeeld

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