基本上,我会说坐标是“基于像素的”。很容易理解(10,10)或宽度为100像素的像素。
但是因为位置和大小是双精度格式,所以大小可以是100.6,位置可以是(10.1,50.9)。十进制值对位置/大小有影响吗?
实际上,我是通过计算点来生成自定义路径的。有些点几乎相等,例如1.9999999和2.000000。首先,我想舍入所有的点,但我确信在xaml中的影响(1.99和2.00,是相同的点吗?)。
发布于 2013-01-07 16:45:07
不,WPF的位置和大小不是基于像素,而是基于“单位”。
事实上,当你的scren设置为96dpi时,1个单位等于1个像素。但是,如果您将屏幕设置为120 dpi,则1个单位将等于1,25像素。
直接的好处是,您的应用程序将比windows窗体应用程序更容易适应更高比例的分辨率。
引用自FrameworkElement.Height Property:
此值被解释为独立于设备的单位(1/96英寸)测量。
总之,我建议您对值进行四舍五入。不是出于技术原因,而是为了使XAML标记更具可读性和“自然”。
发布于 2013-01-07 16:47:58
WPF使用矢量图形。有关详细信息,请参阅Visual Rendering Behavior中的矢量图形部分。矢量图形的一大优点是,可以轻松地缩放图形(例如您的路径),而不需要进行像素化。
如果计算的点值直接放入路径几何图形中,则对路径的点进行舍入没有多大意义。坐标相对于路径对象的原点,并且路径(或其祖先之一,例如画布)本身可能位于分数像素位置。
如果将点值写入XAML,我同意Steve的观点,舍入会使XAML更好,并且您不会意识到1.99和2之间的任何区别。
https://stackoverflow.com/questions/14192399
复制相似问题