【发布时间】:2014-06-02 09:28:06
【问题描述】:
我有一个用 TeeChart 创建的饼图,在我开发的系统上看起来还不错,但是当我在另一台机器上运行它时,“饼图”出来后全部变成椭圆形而不是圆形.
我已确保 TPieSeries 上的 Circled 属性(应确保绘制的始终是圆,而不是椭圆)设置为 True 并且不会在任何地方更改。
我检查以确保这不是不同屏幕分辨率的产物。它不是;另一个系统的分辨率与我的开发盒相同。
另一个系统关闭了 Aero。我通过在我的开发盒上关闭 Aero 进行了测试,图表并没有被压扁。
在这一点上,我基本上没有想法。有谁知道是什么导致设置为Circled = true 的饼图绘制为椭圆而不是圆形?
好: 坏:
这是完全相同的程序,在两台不同的计算机上以完全相同的屏幕分辨率处理完全相同的数据。
编辑:正如 cmets 中所讨论的,我对此进行了测试,发现两个系统不仅具有相同的分辨率,而且具有相同的 DPI。
【问题讨论】:
-
我会检查另一台计算机会为 LOGPIXELSX / LOGPIXELSY 报告什么。
-
@SertacAkyuz:这些是在 Windows.pas 中定义的常量。当这些是在编译时固定不变的常量时,另一个系统如何报告不同的值?
-
@Mason - 当然我的意思是调用 GetDeviceCaps。
-
@SertacAkyuz:刚刚用 GetDeviceCaps 测试过,两个系统都报告 96/96。
-
@Mason - 感谢您的测试。我怀疑另一台显示器上的非本地(和拉伸)分辨率(以与您的分辨率匹配)。在 Steema 代码中可能假设为方形像素,这可能解释了这个问题。