首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么所有位置/大小都是双倍格式?

为什么所有位置/大小都是双倍格式?
EN

Stack Overflow用户
提问于 2013-01-07 16:40:03
回答 2查看 1.1K关注 0票数 6

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

但是因为位置和大小是双精度格式,所以大小可以是100.6,位置可以是(10.1,50.9)。十进制值对位置/大小有影响吗?

实际上,我是通过计算点来生成自定义路径的。有些点几乎相等,例如1.9999999和2.000000。首先,我想舍入所有的点,但我确信在xaml中的影响(1.99和2.00,是相同的点吗?)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-07 16:45:07

不,WPF的位置和大小不是基于像素,而是基于“单位”。

事实上,当你的scren设置为96dpi时,1个单位等于1个像素。但是,如果您将屏幕设置为120 dpi,则1个单位将等于1,25像素。

直接的好处是,您的应用程序将比windows窗体应用程序更容易适应更高比例的分辨率。

引用自FrameworkElement.Height Property

此值被解释为独立于设备的单位(1/96英寸)测量。

总之,我建议您对值进行四舍五入。不是出于技术原因,而是为了使XAML标记更具可读性和“自然”。

票数 8
EN

Stack Overflow用户

发布于 2013-01-07 16:47:58

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

如果计算的点值直接放入路径几何图形中,则对路径的点进行舍入没有多大意义。坐标相对于路径对象的原点,并且路径(或其祖先之一,例如画布)本身可能位于分数像素位置。

如果将点值写入XAML,我同意Steve的观点,舍入会使XAML更好,并且您不会意识到1.99和2之间的任何区别。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14192399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档