sat*_*ine 5 c# canvas image windows-runtime winrt-xaml
我在Windows运行时环境中将图像实例添加到Canvas,并且在140和180刻度分辨率显示时我的图像不断放大,它在刻度分辨率100中看起来很完美.我尝试创建3个PNG图像,每个刻度尺寸一个:100 ,140,180但它仍然可以扩展它们,它们看起来很模糊.我在青色背景上创建了一个带有4个黑色像素的测试图像,我从模拟器中截取了一个截图,看看图像是如何模糊的,我的原始图像只有4个完美的黑色像素:

我尝试更改我的Image对象的拉伸模式,但它什么也没做.我正在使用此代码在运行时添加图像:
var bitmapImage = new BitmapImage();
StorageFile bitmapFile = await StorageFile.GetFileFromApplicationUriAsync(imageUri);
await bitmapImage.SetSourceAsync(await bitmapFile.OpenReadAsync());
Image image = new Image{ Source = bitmapImage};
image.SetValue(Canvas.LeftProperty, x);
image.SetValue(Canvas.TopProperty, y);
canvas.Children.Add(image);
Run Code Online (Sandbox Code Playgroud)
如何让图像在画布中完美地绘制像素,而不进行缩放和我想要的精确x/y坐标?
如果图像仍然是网格状的,您可以将Stretch属性更改为:"None"
您应该查看它保存在什么 DPI 上。WPF 尝试独立于 DPI,因此它尝试在每个显示器上绘制相同尺寸的 5"x5" 图像。即使分辨率更高,它仍然应该是 5"x5",只有高分辨率才能以更高的质量渲染(光栅化)图像。
以下是一些信息:http://www.wpflearningexperience.com/?p =41