1

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

渲染图形(使用 ImageBrushes 的图像和矩形)时,即使我将其设置为不缩放,图形也总是会缩放,这不是预期的工作方式。

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

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

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

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

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

如何强制不执行缩放?

提前感谢您的帮助!

4

3 回答 3

0

我不知道。我现在也在寻找解决方案。但我发现 Windows Phone 8.1 不支持缩放。只有 Windows 应用商店应用程序使用缩放。看看下面的链接。

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

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

希望能帮助到你 ;)

于 2014-07-08T15:53:39.860 回答
0

正如 MSDN 所说:

不要使用大小不是 5px 倍数的图像。不是 5px 倍数的单位在缩放到 140%、180% 和 240% 时可能会出现像素偏移。

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

您的 Width="53" Height="53" 可能是不正确行为的问题

于 2015-04-14T10:39:52.213 回答
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 并停止。

于 2014-11-25T17:10:55.120 回答