为什么所有头寸/尺寸都是双重格式?

时间:2013-01-07 08:40:03

标签: wpf silverlight xaml canvas

基本上,我会说坐标是“基于像素的”。很容易理解(10,10)处的像素或100像素的宽度。

但由于位置和大小是双重格式,因此大小为100.6,位置为(10.1,50.9)。小数值是否会影响位置/大小?

实际上,我通过计算点来生成自定义路径。有些点几乎等于1.9999999和2.000000。首先,我想围绕所有要点,但我确定xaml(1.99和2.00,它是同一点?)的影响。

1 个答案:

答案 0 :(得分:5)

WPF使用矢量图形。有关详细信息,请参阅Visual Rendering Behavior中的矢量图形部分。矢量图形的一大优势是图形(例如您的路径)可以轻松缩放而不会出现像素化。

如果将计算的点值直接放入路径几何体中,则舍入路径的点并不是很有意义。坐标相对于Path对象的原点,Path(或其中一个祖先,例如Canvas)本身可能位于小数像素位置。

如果将点值写入XAML,我同意Steve的观点,即舍入会使XAML更好,并且你不会意识到1.99和2之间存在任何差异。