Вывод текстовой подписи
Пример объекта предоставляющего метод для вывода текста на 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;
...