function GetObjectRenderedStrokePattern(Index: Integer): TBitmap;
| Index | Integer. Índice de page object de base zero no intervalo 0 .. ObjectCount - 1 |
| Result | TBitmap. Um bitmap recém-criado, da responsabilidade de quem chamou, que este tem de libertar, ou nil quando o objeto não é traçado com um tiling pattern, a exportação nativa não existe ou a renderização falha |
Um path object cujo espaço de cor de traço é /Pattern com um pattern PatternType 1 (tiling) pinta o seu contorno com uma célula repetida em vez de uma cor plana. Este método renderiza essa célula por si só através da exportação nativa FPDFPageObj_GetRenderedStrokePattern, permitindo inspecionar, exportar ou pré-visualizar o pattern sem renderizar a página inteira
O lock de renderização é mantido durante a chamada nativa, pelo que é seguro face a renderizações concorrentes no mesmo componente. O bitmap nativo é convertido e destruído antes do retorno; o TBitmap resultante pertence a quem chamou
A chamada exige que a página atual esteja ativa. Objetos que não são paths, paths traçados com uma cor plana ou com um shading pattern, e patterns só de fill produzem todos nil em vez de uma exceção; use PageObjectInfo ou PathInfo para perceber porquê
Os tiling patterns coloridos (PaintType 1) renderizam com as suas próprias cores; os uncoloured (PaintType 2) renderizam com a cor de traço que o content stream selecionou
nil significa "sem pattern" ou "sem exportação"
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;