我正在尝试制作一款使用像素艺术风格的游戏。我创建了我的资源并将它们用作资源,这些资源作为System.Controls.Image对象添加到窗口中。
在设计师中,他们总是变得太小。结果,当我调整它们的大小时,由于某种双三次插值被应用到它们上,它们变得有些模糊。
我设法通过避免调整大小来避免这种情况;我在设计器中调整大小以找出合适的大小,然后在原始图像上使用最近邻居调整大小(使用外部程序)以使源文件达到该大小。然后我更新项目中的图像并删除任何调整大小,因此保持原始大小,即无插值。
你可以想象,这是一个相当繁琐的过程。我在调整大小期间查看了插值选择,但我发现的大多数答案都与System.Drawing.Image有关,而与System.Controls.Image无关。我觉得任何这样的解决方案(如果适应的话)都会非常混乱并涉及多次(也许是不必要的)转换/演员表。
有没有办法让最近邻居在System.Controls.Image上调整大小?
答案 0 :(得分:1)
要设置调整大小模式,您需要为可视树设置RenderOptions.BitmapScalingMode="NearestNeighbor"
选项。您可以在窗口级别设置它。
为了解决这个更大的问题,似乎有些事情导致您的图像首先缩放:
Stretch="None"
选项,我还遇到了图像文件的DPI未被设置为(我相信)90的情况,导致渲染器应用缩放。