1

Windows ストア アプリケーションの 1 つをユニバーサル アプリケーションに変換し、それに Windows Phone プロジェクトを追加しました。

グラフィックス (ImageBrushes を使用したイメージと四角形) をレンダリングするとき、スケーリングしないように設定しても、グラフィックスは常にスケーリングされます。

例: 27*27 ピクセルの test.scale-100.png という名前の画像があります。同じ画像が、test.scale-140.png という名前の 32*32 ピクセル サイズの画像と、59*59 ピクセルの test.scale-240.png という名前の別の画像として存在します。

この画像をデフォルトのレイアウトで次のように使用します。

<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

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

私はわかりません。私も今解決策を探しています。しかし、Windows Phone 8.1 ではスケーリングがサポートされていないことがわかりました。スケーリングに対応しているのは Windows ストア アプリのみです。以下のリンクを見てください。

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

したがって、画像をスケーリングする方法は、高さ/幅のプロパティを使用して画像のサイズを強制するか、BitmapImage とそのプロパティ DecodePixelHeight/DecodePixelWidth を Height/Width プロパティと共に使用して画像をデコードすることです。

それが役に立てば幸い ;)

于 2014-07-08T15:53:39.860 に答える