function GetObjectRenderedStrokePattern(Index: Integer): TBitmap;
| Index | Integer. Índice de objeto de página de base cero en el rango 0 .. ObjectCount - 1 |
| Result | TBitmap. Un bitmap recién creado que quien llama posee y debe liberar, o nil cuando el objeto no se traza con un patrón de mosaico, falta la exportación nativa o el rendering falla |
Un objeto de camino cuyo espacio de color de trazo es /Pattern con un patrón PatternType 1 (mosaico) pinta su contorno con una celda repetida en lugar de un color plano. Este método renderiza esa celda por separado a través de la exportación nativa FPDFPageObj_GetRenderedStrokePattern, de modo que quien llama puede inspeccionar, exportar o previsualizar el patrón sin renderizar la página completa
El render lock se mantiene durante la llamada nativa, así que es seguro frente a rendering concurrente en el mismo componente. El bitmap nativo se convierte y se destruye antes de devolverlo; el TBitmap resultante pertenece a quien llama
La llamada exige que la página actual esté activa. Los objetos que no son caminos, los caminos trazados con un color plano o con un patrón de shading, y los patrones de solo relleno producen nil en lugar de una excepción; use PageObjectInfo o PathInfo para saber por qué
Los patrones de mosaico coloreados (PaintType 1) se renderizan con sus propios colores; los patrones sin color (PaintType 2) se renderizan con el color de trazo que el content stream seleccionó
nil significa "sin patrón" o "sin exportación"
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;