我在画布上绘制文字并按以下方式设置字体:
Image3.Canvas.font.name := 'Arial Narrow';
我的机器上的一切都是正确的。但在我的客户端的另一台电脑上打印错误的字体(更大)。
所以我在客户机上安装了所有Arial Narrow
字体。但我的字体仍然错误。
编辑:字体似乎是正确的,但不是缩放:
这是问题 Windows 7具有控制面板,外观和个性化,显示设置,能够将文本和其他项目放大125%或150%。
有关如何获取这些设置的任何想法吗?
答案 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);