|
THotPDF.RegisterFreeFormGouraudShading THotPDF
|
Vrh |
|
Razglasi PDF 1.3+ mrežni senčen vzorec Gouraud free-form trikotnikov (ISO 32000-1 8.7.4.5.4, /ShadingType 4) in ga ovije v vnos inline Pattern Type 2 v slovar Resources/Pattern na strani. Vrnjenemu imenu vzorca s THPDFPage.SetFillPattern ali THPDFPage.SetStrokePattern narišite vektorski gradient, katerega barva se gladko spreminja po vsakem trikotniku
Delphi syntax: function RegisterFreeFormGouraudShading(XMin, YMin, XMax, YMax: Single; NumComponents: Integer; const Vertices: array of Extended): AnsiString;
C++ syntax: AnsiString RegisterFreeFormGouraudShading(float XMin, float YMin, float XMax, float YMax, int NumComponents, const Extended* Vertices, int VertexElementCount);
Description Senčenje je izpisano kot en sam posredni tok z /ShadingType 4, /BitsPerCoordinate 16, /BitsPerComponent 8 in /BitsPerFlag 8. Vsak vrh je zapakiran v zaporedju toka kot 8 + NumComponents − 3 bajtov - 1-bajtna zastavica (vedno 0 za neodvisne trikotnike), 2 big-endian bajta za koordinato X, 2 big-endian bajta za koordinato Y in NumComponents 8-bitnih barvnih komponent. Polje /Decode preslika 16-bitne koordinate nazaj v podani pravokotnik uporabniškega prostora [XMin, XMax] x [YMin, YMax] in vsak barvni komponent nazaj v [0, 1] Ogljišča se porabljajo po tri naenkrat kot neodvisni trikotniki. Število razširjenih vrednosti, ki jih podate v Vertices, mora biti natanko (2 + NumComponents) * 3 * TriangleCount; pomočnik sproži izjemo, kadar dolžina polja ni večkratnik velikosti koraka ali kadar število oglišč ni večkratnik treh
XMin, YMin, XMax, YMax - pravokotnik v uporabniškem prostoru, ki omejuje mrežo. Te štiri vrednosti postanejo prvi štirje vnosi /Decode, tako da 16-bitno kodirane koordinate oglišč preslikajo nazaj v uporabniški prostor PDF. Postavite jih v iste uporabniške koordinate, v katere boste risali - za HotPDFov zaslonsko-koordinatni Rectangle pri (X, Y, W, H) je ustrezen pravokotnik v PDF uporabniškem prostoru (X, PageHeight - Y - H) do (X + W, PageHeight - Y) NumComponents - število barvnih komponent na oglišče. Vrednost 1 uporabite za DeviceGray, 3 za DeviceRGB ali 4 za DeviceCMYK. Vsaka druga vrednost sproži izjemo. Vnos /ColorSpace nastalega senčenja se nastavi ustrezno Vertices - ravno polje vrednosti Extended v vrstnem redu (X, Y, c1...cN), ponovljenem za vsako oglišče. Koordinate se pripnejo v okvir [XMin, XMax] x [YMin, YMax] in kvantizirajo na 16-bitne cele številke; barvne komponente se pripnejo v [0, 1] in kvantizirajo na 8-bitne cele številke. Sosednji trikotniki, ki morajo deliti rob, morajo deljene oglišča ponoviti do bajta natančno, ker registrirano senčenje uporablja flag 0 za vsako oglišče (neodvisni trikotniki)
Povratna vrednost: samodejno generirano ime vzorca (Sh1, Sh2, ...) registrirano v slovarju Resources/Pattern trenutne strani. Vrne prazen niz, kadar je StrictVersionLock vklopljen in je aktivna Version pod PDF 1.3 (sicer se različica dokumenta samodejno poviša na 1.3)
Code Example
Glejte tudi RegisterDeviceN, RegisterSeparation, RegisterLabColorSpace, Version, PDF Filter Support
|