【问题标题】:Snap to pixel integrating Win2D对齐像素集成 Win2D
【发布时间】:2016-11-19 06:41:48
【问题描述】:

有没有办法在 UWP 中通过代码实现像素捕捉?

我知道 UWP 中的 XAML 控件会自动执行此操作,但我使用第三方库 Win2D 来绘制一些线条,并且像素对齐不是默认设置。 将这些线与界面的其余部分对齐是一种痛苦。我需要将使用 Win2D 绘制的一些垂直边框与在 XAML 水平 ListView 内绘制的某些单元格的像素对齐垂直边框对齐。 我需要的是一种获取最近像素的确切 X 和 Y 坐标的方法。我需要使用 Win2D.DrawLine 从 A 到 B 绘制一条垂直/水平线,并且我需要捕捉到像素以防止抗锯齿并与 XAML 边框对齐。

这是实际问题的图片。下面的raw是用Win2d绘制的,上面的raw是表头,用XAML控件绘制的。

我需要一种方法来捕捉用 Win2D 绘制的线条,就像 XAML 那样。

【问题讨论】:

  • 图像看起来不像,垂直线会偏离像素的一小部分。它看起来更像是一个完整的像素。虽然可以肯定的是图像质量很差(PNG 是无损的,但你的看起来像是有 JPG 伪影;你能提供一张没有经过有损转换的图像吗?)。
  • @IInspectable,这不是图片,是绘制区域,使用Win2D库。我找到了 win2D 工作人员推荐的解决方案:我得到了需要对齐的项目的确切 X、Y 坐标,并且效果很好。
  • 这是一个屏幕截图(这仍然是一张图片,对吧?),它看起来很模糊,它不应该,因为它是 PNG。所以我想它是从有损文件格式转换而来的。我要的是没有压缩伪影的屏幕截图。

标签: c# xaml uwp win2d


【解决方案1】:

使用此示例,我得到了需要对齐的项目的确切坐标:

Absolute coordinates of UIElement in WinRT

然后我简单地将线条绘制到确切的坐标。

【讨论】:

    【解决方案2】:

    您自己的答案的替代方法可能是使用 XAML 仅绘制这些线条。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-02
      • 1970-01-01
      • 2013-12-06
      • 2010-12-08
      • 1970-01-01
      • 1970-01-01
      • 2013-05-13
      • 1970-01-01
      相关资源
      最近更新 更多