PDFium Delphi Component Docs

GetObjectRenderedStrokePattern Метод

Компонент: TPdf  ·  Модуль: PDFium
Растеризует tiling pattern, которым обводится объект страницы, и возвращает его как bitmap во владении вызывающего кода

Syntax

function GetObjectRenderedStrokePattern(Index: Integer): TBitmap;

IndexInteger. Индекс объекта страницы с отсчётом от нуля в диапазоне 0 .. ObjectCount - 1
ResultTBitmap. Созданный bitmap, которым владеет вызывающий код и который нужно освободить, или nil, когда объект не обводится tiling pattern, нативный экспорт отсутствует или рендеринг не удался

Description

Объект-путь, у которого цветовое пространство обводки — /Pattern с шаблоном PatternType 1 (tiling), рисует свой контур повторяющейся ячейкой, а не сплошным цветом. Этот метод отрисовывает такую ячейку отдельно через нативный экспорт FPDFPageObj_GetRenderedStrokePattern, поэтому вызывающий код может изучить, экспортировать или показать узор, не рендеря всю страницу

На время нативного вызова удерживается блокировка рендеринга, так что вызов безопасен при конкурентной отрисовке на том же компоненте. Нативный bitmap конвертируется и уничтожается до возврата; полученный TBitmap принадлежит вызывающему коду

Для вызова текущая страница должна быть активна. Объекты, не являющиеся путями, пути с обводкой сплошным цветом или shading-шаблоном, а также шаблоны только для заливки возвращают nil вместо исключения; разобраться, почему так, помогут PageObjectInfo или PathInfo

Цветные tiling pattern (PaintType 1) отрисовываются собственными цветами; бесцветные (PaintType 2) — цветом обводки, который выбрал поток содержимого

Remarks

Example

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;

See Also

GetImageObjectRenderedBitmap, GetTextObjectRenderedBitmap, PathInfo, StrokePatternRenderingFeaturesAvailable