字体转像数问题,是比如15号字体就是15个点吗? ( 积分: 100 )

  • 主题发起人 主题发起人 emitsong
  • 开始时间 开始时间
E

emitsong

Unregistered / Unconfirmed
GUEST, unregistred user!
rt,就是要实现动态将字写到图象的中间
我用15号Arial字体,
要画的文字的 top:=(图象宽度大小-length('我的文字')*15) div 2
要画的文字的 top:=(图象高度大小-15) div 2

发现上面的代码实现后文字并不在中间,如果是中文字体是否要length('我的文字')*15) *2
想确认字体转像数是不是1:1,和怎样才能文字居中(不仅仅是一个字符)
 
rt,就是要实现动态将字写到图象的中间
我用15号Arial字体,
要画的文字的 top:=(图象宽度大小-length('我的文字')*15) div 2
要画的文字的 top:=(图象高度大小-15) div 2

发现上面的代码实现后文字并不在中间,如果是中文字体是否要length('我的文字')*15) *2
想确认字体转像数是不是1:1,和怎样才能文字居中(不仅仅是一个字符)
 
用Canvas.TextWidth得到的文字的宽度后在重新取中间
 
With Canvas do
begin
left := (Width - TextWidth('Text')) div 2;
top := (Heigth - TextHeigth('Text')) div 2;
Textout(left,top,'Text');
end;
建议你看一下windows程序设计
 
多人接受答案了。
 
后退
顶部