PDFium Delphi Component Docs

GetObjectRenderedStrokePattern 메서드

컴포넌트: TPdf  ·  유닛: PDFium
page object가 stroke에 사용하는 tiling pattern을 래스터라이즈해 호출자가 소유하는 bitmap으로 반환합니다

Syntax

function GetObjectRenderedStrokePattern(Index: Integer): TBitmap;

IndexInteger. 0 .. ObjectCount - 1 범위의 0 기반 page object 인덱스
ResultTBitmap. 새로 만들어진 bitmap으로 호출자가 소유하며 직접 해제해야 합니다. object가 tiling pattern으로 stroke하지 않거나, 네이티브 익스포트가 없거나, 렌더링에 실패하면 nil입니다

Description

stroke 색 공간이 /Pattern이고 PatternType 1(tiling) pattern을 쓰는 path object는 단색이 아니라 반복되는 cell로 윤곽선을 칠합니다. 이 메서드는 네이티브 FPDFPageObj_GetRenderedStrokePattern 익스포트를 통해 그 cell만 따로 렌더링하므로, page 전체를 렌더링하지 않고도 pattern을 검사하거나 내보내고 미리 볼 수 있습니다

네이티브 호출이 진행되는 동안에는 render lock이 유지되므로, 같은 컴포넌트에서 동시에 렌더링해도 안전합니다. 네이티브 bitmap은 반환 전에 변환 후 파괴되고, 결과로 나온 TBitmap은 호출자가 소유합니다

이 호출에는 현재 page가 활성 상태여야 합니다. path가 아닌 object, 단색이나 shading pattern으로 stroke하는 path, fill 전용 pattern은 모두 예외 대신 nil을 반환하므로, 이유는 PageObjectInfo나 PathInfo로 확인하세요

coloured tiling pattern(PaintType 1)은 자체 색상으로 렌더링되고, uncoloured pattern(PaintType 2)은 content stream이 선택한 stroke 색으로 렌더링됩니다

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