问题标签 [snapstodevicepixels]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
14284 浏览

c# - WPF 中的 SnapsToDevicePixels 通俗地说是什么意思?

有人吗?假设我有一个 Window 类,我给 SnapsToDevicePixels = true?发生什么了?

0 投票
4 回答
35825 浏览

.net - 何时应在 WPF 4.0 中使用 SnapsToDevicePixels?

谁能建议何时SnapsToDevicePixels在 WPF 4.0 中使用的指南?

是否应该仅在出现问题时才偶尔使用,在整个应用程序中自由使用,仅在某些控件上使用还是什么?

0 投票
2 回答
2368 浏览

wpf - 如何在 wpf 中创建不缩放的不透明蒙版?

好的,我创建了一个具有透明度的 PNG-24。它基本上是一个灰度图像,它使用黑色和透明之间的“颜色”而不是黑色和白色。我这样做是为了可以将其用作彩色矩形的不透明度蒙版,从而仅使用单个图形以我想要的任何颜色渲染图像。

但是,对于我的生活,我无法让 WPF 停止对 da*n 图像进行抗锯齿!!

我已经在应用画笔的矩形上​​设置了“SnapesToDevicePixels”...我已经将 ImageBrush 的 Scale 设置为“None”...我已经将其 ViewPort 和 ViewBox 设置为绝对单位并将它们的大小精确到源图像。但无论我怎么尝试,WPF 仍然坚持试图让事情变得顺畅!这非常令人沮丧!

所以......有人知道如何使用图像作为不透明蒙版,但不会丢失我们所做的像素精确绘图吗?我只是想让 WPF 在我们绘制它时渲染该死的东西,期间!

0 投票
2 回答
755 浏览

wpf - 如何在 WPF 的边框上创建斜角?

我正在尝试在装饰器的子类中进行简单的绘图,类似于他们在这里所做的......

如何在 wpf 中绘制带有方角的边框?

...除了单像素边框厚度而不是他们在那里使用的两个。但是,无论我做什么,WPF 都决定它需要进行“平滑”(例如,它不是渲染单像素线,而是渲染两像素线,每个“一半”的不透明度约为 50%。)换句话说,它试图对绘图进行抗锯齿处理。我不想要抗锯齿绘图。我想说,如果我画一条从 0,0 到 10,0 的线,我会得到一条单像素宽的线,它的长度正好是 10 像素,没有经过平滑处理。

现在我知道 WPF 会这样做,但我认为这就是他们引入 SnapsToDevicePixels 和 UseLayoutRounding 的具体原因,我在 XAML 中将这两者都设置为“True”。我还确保我使用的数字是实际整数而不是小数,但我仍然没有得到我希望的漂亮、清晰、一个像素宽的线条。

帮助!!!

标记

0 投票
2 回答
1211 浏览

wpf - SnapsToDevicePixels 似乎在 StackPanel 中不起作用

我在 StackPanel 中有更多扩展器(方向=垂直)。当我展开一个时,展开后的下面的其他人似乎变得模糊。就像 SnapsToDevicePixels=False 一样。

我认为问题可能出在 StackPanel 中,因为它尚不支持 .NET 3.5(我使用的)中的 UseLayoutRounding。这是可能的还是问题可能出在其他地方?

我几乎把 SnapsToDevicePixels="True" 放在了我能做的任何地方,但没有任何改变。

(字体大小为 12,因此不能为 [1]:WPF 模糊字体问题-解决方案

0 投票
1 回答
970 浏览

wpf - SnapsToDevicePixels、UseLayoutRounding 和 BitmapScalingMode 似乎不起作用

当我在 WPF 上使用 Visual Studio C# 2010 进行编程时,有些文本非常不清楚,无论将 SnapsToDevicePixels 设置为 true、UseLayoutRounding 设置为 true 并将 BitmapScalingMode 设置为 HighQuality。您可以在图像中看到问题...

http://i.stack.imgur.com/WXPAF.png

有人知道如何解决它吗?

0 投票
1 回答
907 浏览

c# - 如何避免单个像素线在 wpf 中消失?

element(StrokeThickness="1" SnapsToDevicePixels="True") 我在网格中使用路径。我想调整窗口大小,Grid 元素由 Viewbox 元素包裹。

问题

当我调整窗口大小时,路径会消失一段时间。如果我将 SnapsToDevicePixels 设置为 false,Path 元素可能会模糊,这不是我想要的。

如何避免单个像素线消失?

XAML 代码:

可惜我没有发布运行时效果的声誉。

0 投票
1 回答
463 浏览

c# - WPF Listbox 右侧边框模糊

我有一个带有显示一些数据的列表框的 WPF 应用程序。当我在窗口中心有列表框并且窗口宽度不均匀时,右侧的列表框是模糊的。(绿色是矩形,蓝色部分是文本框) (绿色)列表框右侧模糊 我试图在SnapsToDevicePixels几乎所有地方都应用,但没有结果。(我知道它应该由子元素继承,但我差点把头发拉出来)

我可以通过将其设置为HorizontalAlignment="Left"并且始终保持固定大小来克服这个问题,但我知道我只是缺少了一些东西,因为文本框确实被正确渲染了。

这是我的(尽可能干净)代码,显示了行为:

0 投票
0 回答
199 浏览

wpf - WPF:无法制作 1 像素宽的虚线

我在 wpf 中有两个组件,想在它们之间画一条 1 像素的虚线。没有设法使用stackoverflow中提到的任何技巧来实现这一点。

这个只添加了这个 wpf 代码的空项目演示了这个问题,当应用程序调整大小时,该行会不时消失。删除 RenderOptions.EdgeMode="Aliased" 将使行改为 2 像素宽。