|
THotPDF.RegisterLatticeFormGouraudShading
|
Topo |
|
Declara uma malha Gouraud triangular em grelha PDF 1.3+ (ISO 32000-1 8.7.4.5.5, /ShadingType 5) e envolve-a numa entrada inline de tipo de padrão 2 no dicionário Resources/Pattern da página. O renderizador triangula automaticamente cada par de linhas adjacentes numa faixa triangular, pelo que o chamador fornece apenas a grelha de vértices - útil quando os dados de origem já vivem numa grelha de amostragem regular (terreno, resultados FEA, mapas de calor científicos). Utilize
Delphi syntax: function RegisterLatticeFormGouraudShading(XMin, YMin, XMax, YMax: Single; NumComponents: Integer; VerticesPerRow: Integer; const Vertices: array of Extended): AnsiString;
C++ syntax: AnsiString RegisterLatticeFormGouraudShading(float XMin, float YMin, float XMax, float YMax, int NumComponents, int VerticesPerRow, const Extended* Vertices, int VertexElementCount);
Descrição O sombreamento é emitido como um fluxo indireto com Os vértices são ordenados em row-major: os primeiros VerticesPerRow vértices formam a linha 0, os seguintes VerticesPerRow formam a linha 1 e assim por diante. O renderizador liga cada par de linhas adjacentes (linha i e linha i+1) num triangle strip - sem flags, sem lista explícita de triângulos. O número de valores Extended que passar em Vertices tem de ser múltiplo de (2 + NumComponents) * VerticesPerRow e a contagem de linhas resultante tem de ser pelo menos 2
XMin, YMin, XMax, YMax - o retângulo de user space que delimita a grelha. Estes quatro valores tornam-se as quatro primeiras entradas de /Decode. Coloque-os nas mesmas coordenadas de user space em que vai pintar - para o Rectangle de coordenadas de ecrã do HotPDF em (X, Y, W, H), o retângulo correspondente de user space PDF é (X, PageHeight - Y - H) até (X + W, PageHeight - Y) NumComponents - número de componentes de cor por vértice. Passe 1 para DeviceGray, 3 para DeviceRGB ou 4 para DeviceCMYK. Qualquer outro valor levanta uma exceção VerticesPerRow - número de vértices N por linha da grelha, N >= 2. A entrada de dicionário /VerticesPerRow recebe este valor verbatim. O número de linhas M é inferido a partir do comprimento da matriz como VertexCount / VerticesPerRow e tem de ser pelo menos 2 Vertices - matriz plana de valores
Valor devolvido: um nome de padrão gerado automaticamente (Sh1, Sh2, ...) registado no dicionário Resources/Pattern da página atual. Devolve uma cadeia vazia quando StrictVersionLock está ativo e a Version atual está abaixo de PDF 1.3 (caso contrário, a versão do documento é promovida automaticamente para 1.3)
Code Example
See Also RegisterFreeFormGouraudShading, RegisterDeviceN, RegisterSeparation, RegisterLabColorSpace, Version, PDF Filter Support
|