Windows Phone 8.1应用程序始终缩放图像

时间:2014-05-04 09:26:41

标签: xaml windows-phone windows-phone-8.1 win-universal-app

我已将我的一个Windows应用商店应用转换为通用应用,并为其添加了一个Windows Phone项目。

渲染图形(使用ImageBrushes的图像和矩形)时,即使我将图形设置为不按比例缩放也不会达到预期效果,图形总是会缩放。

实施例: 我有一个名为test.scale-100.png的图像,它是27 * 27像素。 相同的图像存在于名为test.scale-140.png的32 * 32像素大小的图像中,另一个名为test.scale-240.png的图像为59 * 59像素

我通过以下方式在默认布局中使用此图像:

<Image x:Name="imgTest" Source="/Assets/test.png" Stretch="None"/>

当我使用Windows Phone 8.1 WVGA 4英寸仿真器启动我的应用程序时,32 * 32图像显示正确的边界,但实际图像是缩放的(我可以看到这非常简单,因为内容变得模糊)。 / p>

当我使用Windows Phone 8.1 1080p 6英寸仿真器启动应用程序时也会发生同样的情况;图像是59 * 59像素,但图像有点模糊。

如何强制缩放以不执行?

提前感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

我不确定。我现在也在寻找解决方案。但我发现Windows Phone 8.1不支持缩放。只有Windows应用商店应用正在进行扩展。请看下面的链接。

http://msdn.microsoft.com/en-us/library/windows/apps/dn263244.aspx

因此,如何缩放图像的方法是使用高度/宽度属性来强制图像大小,或者可以使用BitmapImage及其属性DecodePixelHeight / DecodePixelWidth以及高度/宽度属性来解码图像。

希望它有所帮助;)

答案 1 :(得分:0)

我有同样的问题,我认为这是一个操作系统错误:

测试1

test.scale-100.png + 
test.scale-140.png +
test.scale-240.png 
= Blurry result

测试2

test.scale-240.png 
= Blurry result, again

测试3

test.scale-240.png renamed to test.png
= Sharp result!

问题仅出现在某些资产上,而不是全部。仅在我的情况下,在一些DataTemplates中。我认为在某些情况下系统会错误地缩放图像,结果模糊不清。如果只留下“scale-240”图像,则模糊不清。如果你重命名删除“scale-240”,它会变得尖锐!

总之,将图像命名为test.png并停止。

答案 2 :(得分:0)

正如MSDN所说:

请勿使用尺寸不大于5px倍数的图像。不是5px倍数的单位在缩放到140%,180%和240%时会出现像素移位。

https://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh465362.aspx

您的宽度=“53”高度=“53”可能是行为不正确的问题