function GetObjectRenderedStrokePattern(Index: Integer): TBitmap;
| Index | Integer. Nullbasierter Seitenobjekt-Index im Bereich 0 .. ObjectCount - 1 |
| Result | TBitmap. Eine neu erzeugte Bitmap im Eigentum des Aufrufers, die dieser freigeben muss, oder nil, wenn das Objekt nicht mit einem Tiling-Pattern gestrichen wird, der native Export fehlt oder das Rendering fehlschlägt |
Ein Pfadobjekt, dessen Stroke-Farbraum /Pattern mit einem PatternType 1-Pattern (Tiling) ist, malt seine Kontur mit einer wiederholten Kachel statt mit einer flächigen Farbe. Diese Methode rendert genau diese Kachel isoliert über den nativen Export FPDFPageObj_GetRenderedStrokePattern, sodass der Aufrufer das Pattern inspizieren, exportieren oder als Vorschau anzeigen kann, ohne die ganze Seite zu rendern
Für den nativen Aufruf wird das Render-Lock gehalten, sodass der Aufruf gegen gleichzeitiges Rendering auf derselben Komponente sicher ist. Die native Bitmap wird vor der Rückgabe konvertiert und wieder freigegeben; die resultierende TBitmap gehört dem Aufrufer
Der Aufruf setzt voraus, dass die aktuelle Seite aktiv ist. Objekte, die keine Pfade sind, Pfade, die mit einer einfachen Farbe oder einem Shading-Pattern gestrichen werden, und reine Fill-Pattern liefern durchweg nil statt einer Exception; über PageObjectInfo oder PathInfo erfahren Sie den Grund
Farbige Tiling-Pattern (PaintType 1) rendern mit ihren eigenen Farben; farblose Patterns (PaintType 2) rendern mit der Stroke-Farbe, die der Content-Stream ausgewählt hat
nil-Ergebnis an einem fehlenden Pattern oder einem fehlenden Export liegt
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;