我可以在WPF应用程序中使用这些代码来实现这一点:
<Image x:Name="myImage" RenderOptions.BitmapScalingMode="NearestNeighbor" RenderOptions.ClearTypeHint="Enabled" />
字符串
相应的效果如下https://i.stack.imgur.com/ed5MN.png
但是对于winui3
<Image Source="/Assets/steve.png" />
型
相应的效果如下,图像被放大许多倍,变得模糊https://i.stack.imgur.com/q20Fv.png
这是原始图像https://i.stack.imgur.com/q4QAb.png
那么有没有办法保持winui3的图像以像素为单位显示呢?
我希望在winui3中的图像可以得到像在wpf中一样的显示效果
1条答案
按热度按时间omvjsjqw1#
有多种方法可以做到这一点,但没有使用XAML。“经典”的方法是使用WinRT的BitmapDecoder类并自定义其工作方式。
方案一
使用此XAML:
字符串
这段代码:
型
方案二
下面是另一种方法,使用the Visual Layer(又名:直接组成),不限于UWP,与文件可能说的相反:
使用此XAML:
型
这个按钮处理代码:
型
注1:在解决方案2的情况下,您不必使用async/await代码。您也可以随时调整
imageVisual
视觉。没有更多的上下文信息,这是我的首选方式。注2:所有UI/XAML命名空间 * 必须 * 以
Microsoft.UI.Xaml
开头,以确保您使用的是WinUI 3而不是UWP。