function GetObjectRenderedStrokePattern(Index: Integer): TBitmap;
| Index | Integer. Index objektu stránky počítaný od nuly, v rozsahu 0 .. ObjectCount - 1 |
| Result | TBitmap. Nově vytvořená bitmapa, kterou vlastní volající a musí ji uvolnit, nebo nil, když se objekt neobtahuje tiling patternem, chybí nativní export, nebo se vykreslení nepovede |
Objekt cesty, jehož barevný prostor tahu je /Pattern s patternem PatternType 1 (tiling), kreslí svůj obrys opakovanou dlaždicí místo plné barvy. Tato metoda vykreslí tu dlaždici samostatně přes nativní export FPDFPageObj_GetRenderedStrokePattern, takže volající může pattern prozkoumat, exportovat nebo si ho zobrazit v náhledu, aniž by renderoval celou stránku
Render zámek se na dobu nativního volání drží, takže volání je bezpečné vůči souběžnému vykreslování na téže komponentě. Nativní bitmapa se před návratem zkonvertuje a zničí; výsledný TBitmap patří volajícímu
Volání vyžaduje aktivní aktuální stránku. Objekty, které nejsou cesty, cesty obtahované obyčejnou barvou nebo shading patternem i patterny jen pro výplň všechny vrací nil místo výjimky; proč tomu tak je, zjistíte přes PageObjectInfo nebo PathInfo
Barevné tiling patterny (PaintType 1) se vykreslí vlastními barvami; nebarevné patterny (PaintType 2) použijí barvu tahu, kterou naposled vybral content stream
nil znamená „žádný pattern“, nebo „žádný export“
var
I: Integer;
Bmp: TBitmap;
begin
for I := 0 to Pdf1.ObjectCount - 1 do
begin
Bmp := Pdf1.GetObjectRenderedStrokePattern(I);
if Bmp <> nil then
try
Bmp.SaveToFile(Format('stroke-pattern-%d.bmp', [I]));
finally
Bmp.Free;
end;
end;
end;