Объект IIngeoTextPainter(IIngeoPainter)


Текстовый метод отображения стиля.

Свойства

СвойствоНаследуется отОписание
BackColorЦвет фоновой закраски под выводимым текстом.
CommentIIngeoPainterКомментарий.
FlagsАтрибуты текстового метода отображения.
FontШрифт, которым выводятся надписи.
IndexIIngeoPainterПорядковый номер метода отображения в коллекции.
PainterTypeIIngeoPainterТип метода отображения.
TextВыводимый текст.
VisibleMaxIIngeoPainterВерхняя граница диапазона видимости метода отображения.
VisibleMinIIngeoPainterНижняя граница диапазона видимости метода отображения.

Методы

МетодНаследуется отОписание
DeleteIIngeoPainterУдаляет метод отображения из коллекции, которой он принадлежит.
PaintContourIIngeoPainterРисует заданный контур данным методом отображения на заданную поверхность рисования.

Пример

Вывод текстовой подписи
Пример объекта предоставляющего метод для вывода текста на Surface, по заданным координатам вектора (Delphi).

...
type
  TPaintText = class
   private 
      FTextData: TStringList;
      FTextPainter: IIngeoTextPainter;
      FEdge: IIngeoContour;

  public 
     constructor Create(App: IIngeoApplication);
     destructor Destroy; override;

     procedure PaintText(aSurface:IIngeoPaintSurface; aX1, Y1, aX2, aY2: Double; const aText: string);
  end ;
...

implementation 

....
{TPaintText}

constructor TPaintText.Create(App: IIngeoApplication);
begin
  FTextData := TStringList.Create;
  FTextPainter := App.CreateObject(inocPainter, inptText) as IIngeoTextPainter;
  FTextPainter.Font.Name = 'Arial';
  FTextPainter.Font.Style := 0;
  FTextPainter.Font.Color := ColorToRgb(clGreen);
  FTextPainter.Font.ForZoomScale := 1/500;
  FTextPainter.Font.Size := 12;
  FTextPainter.Text := '{text}';
  FEdge := App.CreateObject(inocContour, EmptyParam) as IIngeoContour;
  with FEdge.Insert(-1) do begin
    InsertVertex(-1, 0, 0, 0);
    InsertVertex(-1, 0, 0, 0);
  end;
end;

destructor Destroy; 
begin
  FTextData.Free;
end;

procedure PaintText(aSurface:IIngeoPaintSurface; aX1, Y1, aX2, aY2: Double; const aText: string);
begin
  FEdge[0].SetVertex(0, aX1, aY1, 0);
  FEdge[0].SetVertex(1, aX2, aY2, 0);
  FTextData.Values['text'] := aText;  
  FTextPainter.PaintContour(aSurface, FEdge, FTextData.Text);
end; 
...

См.также

IIngeoStyle, IIngeoPainter, IIngeoStdPainter, IIngeoSymbolPainter, Application.CreateObject, TIngeoPainterType