【问题标题】:What is the relationship between ScaleTransform and PixelScaleTransform和Pixel是什么关系
【发布时间】:2010-11-12 18:26:05
【问题描述】:

我对像素、dpi、分辨率和东西的概念不熟悉。所以让我提出这个我很难得到简单答案的简单问题

  • wpf 中的默认测量单位是什么
  • 当我对按钮应用缩放变换时,它是如何变大的(实际情况)
  • wpf 中缩放系数的单位是什么
  • 缩放系数与像素(或缩放控件的位置)有何关系

【问题讨论】:

    标签: c# wpf pixel transformation scaletransform


    【解决方案1】:

    那个subjet实际上相当复杂。

    单位

    在 WPF 中,所有大小都以Device Independent Unit (DIU) 表示。

    1 DIU = 1/96 英寸。 1 DIU = 96 DPI 显示器上的 1 个像素。 1 DIU = 200 DPI 显示器上的 2.083333 像素。

    缩放和缩放

    你在这里看起来很困惑。 1.0 的比例/缩放表示 100%,2.0 表示 200%,0.5 表示 50%。没有单位,是一个因素。

    【讨论】:

    • 是的,我很困惑。当我应用 1.0 的比例变换时,它是 100% 的缩放,现在当我应用 2.0 时,你是说它将控件缩放 200%。控件是如何缩放的?这是否会增加其宽度和高度(不!),这是否会重新定位屏幕上的控件(不知道!!!) - 但控件似乎随着其缩放而远离其初始位置。它扩展了多少 DIU。你能给我更多关于这方面的信息吗?
    • 不,宽度和高度保持不变。当 WPF 渲染系统将要绘制您的控件时,它会先应用转换,然后再绘制它。因此,如果您在控件上放置 2.0 比例变换,它会显得大两倍。至于位置,它由属性 ScaleTransform.CenterX 和 CenterY 控制。看看msdn.microsoft.com/en-us/library/…
    • 所以表示对象在缩放时在DIU中重定位。缩放控件时如何轻松计算此位置
    • 我不明白你为什么需要这样做......也许你应该解释一下你真正想做的事情。
    • 我有一把尺子。标尺刻度以厘米为单位。 A 在标尺下还有一个滚动查看器。我在滚动视图中有一个按钮,我希望在缩放按钮时标尺能够正确缩放。一切正常,除了我无法将标尺的比例(比例从 0 开始)与控件的开始位置同步。希望你理解场景
    猜你喜欢
    • 2014-03-14
    • 2013-06-14
    • 2018-02-16
    • 2020-05-04
    • 2020-01-08
    • 2015-01-13
    • 2017-11-06
    • 2015-07-09
    相关资源
    最近更新 更多