function GetObjectRenderedStrokePattern(Index: Integer): TBitmap;
| Index | Integer. Paginaobjectindex op basis van 0 in het bereik 0 .. ObjectCount - 1 |
| Result | TBitmap. Een nieuw aangemaakte bitmap waarvan de aanroeper eigenaar is en die hij zelf moet vrijgeven, of nil wanneer het object niet met een tiling pattern wordt omlijnd, de native export ontbreekt of het renderen mislukt |
Een padobject waarvan de stroke-kleurruimte /Pattern is met een PatternType 1-pattern (tiling) tekent zijn omtrek met een herhaalde cel in plaats van met een vlakke kleur. Deze methode rendert die cel los via de native export FPDFPageObj_GetRenderedStrokePattern, zodat je het pattern kunt inspecteren, exporteren of previewen zonder de hele pagina te renderen
De render lock wordt vastgehouden voor de duur van de native aanroep, dus tegelijk renderen op dezelfde component is veilig. De native bitmap wordt geconverteerd en opgeruimd vóór de return; de resulterende TBitmap is van de aanroeper
De aanroep eist dat de huidige pagina actief is. Objecten die geen paden zijn, paden die met een gewone kleur of een shading pattern worden getekend en fill-only patterns leveren allemaal nil op in plaats van een exception; met PageObjectInfo of PathInfo achterhaal je waarom
Gekleurde tiling patterns (PaintType 1) renderen met hun eigen kleuren; ongekleurde patterns (PaintType 2) renderen met de stroke-kleur die de content stream had gekozen
nil-resultaat "geen pattern" of "geen export" betekent
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;