c# - Canvas 中精确的像素移动

标签 c# .net wpf

我正在使用 WPF 中的某种绘图软件,我在 Canvas 中有某些视觉元素,例如矩形和线条。我已经实现了在 Canvas 周围拖动这些元素来移动它们。运动必须与像素对齐,我读到 WPF 使用点而不是像素,所以我很关心知道我的线或矩形是否与像素对齐。我尝试使用 SnapsToPixels,但我不确定它是否会成功,或者当我四处移动视觉效果时它是否会成功。

最后,我必须用键盘实现移动视觉效果,单个光标划动意味着将视觉效果恰好移动一个像素,我如何从后面的代码中做到这一点?我假设做类似的事情:

Canvas.SetLeft(visual) = Canvas.GetLeft(visual) + 1;

只会将一个点添加到它的位置,而不是一个像素,我怎样才能在 Canvas 中精确移动一个像素?

非常感谢。

最佳答案

使用 SnapToDevicePixels 可能会有所帮助为你的 Canvas 。

关于c# - Canvas 中精确的像素移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5636817/

相关文章:

c# - 从多个插件加载程序集,但只加载一次

c# - 为什么尝试添加到空值不会抛出 InvalidOperationException?

c# - 绑定(bind) boolean 值

c# - WPF:以编程方式引发 SelectionChangedEvent

c# - FOREACH 递归 SQL 语句

c# - 并发读写 NamePipeClientStream

c# - 如何在 C# PresentationFramework.dll 中设置断点?

wpf - 如何使 Viewbox 的子元素不可缩放

c# - 使用 C# 将 XML 转换为平面文件

c# - 数学舍入问题总计 > 100%