38 c# wpf xaml image image-processing
我正在使用C#在WPF中开发一个应用程序.我将图像放在一个WrapPanel中,并在一个Grid中显示另一个Border,并在Buttons中使用图像.问题是我的图像控制失去了它的质量.我无法在此发布我的图片,所以我只是在这里描述.
我用过SnapsToDevicePixels="True"图像,但看起来仍然很模糊.
更新:
在这里,我分享了下面的图片:

Sha*_*ain 72
我认为Markus所说的是解决问题的一种方法,并尝试RenderOptions.EdgeMode="Aliased"为每个图像添加一个属性,我的意思是:
<Image Source="/LoginPanel;component/Icons/icoLogin.ico"
RenderOptions.BitmapScalingMode="NearestNeighbor"
RenderOptions.EdgeMode="Aliased"/>
Run Code Online (Sandbox Code Playgroud)
如果您仍然无法解决问题,那么可以参考http://blogs.msdn.com/b/dwayneneed/archive/2007/10/05/blurry-bitmaps.aspx来创建自定义Bitmap类并申请所有给你造成麻烦的图片.
您还可以看到此Stack Overflow问题
小智 26
SnapsToDevicePixels似乎不适用于位图.
NearestNeighbor选项实际上转换了位图,最终将与原始位图不同.
在WPF 4中,引入了FrameworkElement上的属性" UseLayoutRounding "来解决此问题.
通过在根元素上将此属性设置为True,例如Window将在像素的边缘上对齐子元素.
<Window UseLayoutRounding="True">...</Window>
Run Code Online (Sandbox Code Playgroud)
Mar*_*kus 14
这适合我
<Image Source="/LoginPanel;component/Icons/icoLogin.ico"
RenderOptions.BitmapScalingMode="NearestNeighbor"</Image>
Run Code Online (Sandbox Code Playgroud)
为每个图像设置RenderOptions.BitmapScalingMode ="NearestNeighbor".或者在StackOverflow上看到这个问题.
编辑:
这是我的示例代码
<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="661">
<WrapPanel>
<Button VerticalAlignment="Center">
<Image Source="/WpfApplication1;component/icoChip32x32.ico"
RenderOptions.BitmapScalingMode="NearestNeighbor" Stretch="None"></Image>
</Button>
<Button VerticalAlignment="Center">
<Image Source="/WpfApplication1;component/icoChip32x32.ico"
RenderOptions.BitmapScalingMode="NearestNeighbor" Stretch="None"></Image>
</Button>
<Button VerticalAlignment="Center">
<Image Source="/WpfApplication1;component/Presentation-Edit.png"
RenderOptions.BitmapScalingMode="NearestNeighbor" Stretch="None"></Image>
</Button>
<Button VerticalAlignment="Center">
<Image Source="/WpfApplication1;component/Presentation-Edit.png"
RenderOptions.BitmapScalingMode="NearestNeighbor" Stretch="None"></Image>
</Button>
</WrapPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)
这是我的结果:

| 归档时间: |
|
| 查看次数: |
30362 次 |
| 最近记录: |