本文整理自网络,侵删。
使用VCL,可以使用Windows DrawText API在画布上绘制字符。
procedure TForm1.FormPaint(Sender: TObject);const Text = '你好世界';var R: TRect;begin R := TRect.Create(0, 0, 100, 100); Self.Canvas.FillRect(R); DrawText(Self.Canvas.Handle, PChar(Text), Length(Text), R, DT_VCENTER Or DT_SINGLELINE or DT_CENTER);end;在FireMonkey中,使用TTextLayout在Canvas上绘制字符。
uses FMX.TextLayout;
procedure TForm1.FormPaint(Sender: TObject; Canvas: TCanvas; const [Ref] ARect: TRectF);const Text = '你好世界';var Layout: TTextLayout;begin Layout := TTextLayoutManager.DefaultTextLayout.Create; try Layout.BeginUpdate; Layout.TopLeft := TPointF.Create(0, 0); Layout.MaxSize := TPointF.Create(Self.Width, Self.Height); Layout.Font.Size := 30; Layout.Color := TAlphaColorRec.Brown; Layout.WordWrap := False; Layout.HorizontalAlign := TTextAlign.Center; Layout.VerticalAlign := TTextAlign.Center; Layout.Text := Text; Layout.EndUpdate; Layout.RenderLayout(Canvas); finally Layout.Free; end;end;
相关阅读 >>
Delphi win32,win64用于单/多线程计数素数的整数性能比较
Delphi getprocessmemoryinfo获取进程占用内存大小
Delphi 10.3.x 截取字符串函数substring 和copy()常用字串符处理函数用法
更多相关阅读请进入《Delphi》频道 >>