【问题标题】:How to get pixel width and height of String?如何获取字符串的像素宽度和高度?
【发布时间】:2011-04-30 12:15:14
【问题描述】:

如何在Delphi 7中使用GetTextExtentPoint32W获取宽字符串输出前的像素宽高?

【问题讨论】:

    标签: delphi text canvas delphi-7


    【解决方案1】:

    你可以的

    procedure TForm1.FormPaint(Sender: TObject);
    var
      extent: TSize;
      S: WideString;
    begin
      S := 'This is the integral sign: '#$222b;
      if not GetTextExtentPoint32W(Canvas.Handle, PWideChar(S), length(S), extent) then
        RaiseLastOSError;
      TextOutW(Canvas.Handle, (Width - extent.cx) div 2, (Height - extent.cy) div 2,
        PWideChar(S), length(S));
    end;
    

    GetTextExtentPoint32W 将宽度和高度分别放在extent.cxextent.cy 中。

    最后一行将使用TextOutW 绘制在客户区水平和垂直居中的字符串。

    【讨论】:

      猜你喜欢
      • 2011-09-24
      • 2011-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-31
      • 1970-01-01
      • 2015-12-14
      相关资源
      最近更新 更多