错误的字体虽然已安装

时间:2013-12-18 09:41:10

标签: delphi canvas fonts true-type-fonts

我在画布上绘制文字并按以下方式设置字体:

 Image3.Canvas.font.name := 'Arial Narrow';

我的机器上的一切都是正确的。但在我的客户端的另一台电脑上打印错误的字体(更大)。 所以我在客户机上安装了所有Arial Narrow字体。但我的字体仍然错误。

编辑:字体似乎是正确的,但不是缩放:

这是问题 Windows 7具有控制面板,外观和个性化,显示设置,能够将文本和其他项目放大125%或150%。

有关如何获取这些设置的任何想法吗?

2 个答案:

答案 0 :(得分:0)

首先,您将图像的大小设置为位图,因为在使用canvas之前,必须创建位图。

以便bitmap.canvas.font具有默认大小

所以稍后它不会增加它的大小。因此将生成原始字体。

答案 1 :(得分:0)

获取DPI并调整字体大小对我来说是这样的:

DC := GetDC(HWND_DESKTOP);
try
  DPI:=GetDeviceCaps(DC,LOGPIXELSY);
finally
  ReleaseDC(DC,HWND_DESKTOP);
end;
Image3.Canvas.font.size := round(myConstant*96/DPI);