3

画像コントロール-ビューボックスに配置されます。ウィンドウサイズが変更されたときの自動スケーリング用。すべてが完璧に機能します。

私の場合、補間のタイプを変更することは可能ですか?たとえば、BicubicまたはBilinearを選択します。または、そのような選択の自動スケーリングは利用できませんか?

BitmapImage bmp=new BitmapImage(new Uri("c:/temp/1.jpg"));
ImageSource pic = bmp;
Viewbox vb = new Viewbox();
vb.Stretch = Stretch.UniformToFill;
vb.StretchDirection = StretchDirection.DownOnly;

Image img=new Image();
img.Source = pic;

vb.Child = img;
4

1 に答える 1

16

私の知る限り、WPF のビットマップに対してバイキュービックまたはバイリニア補間を指定することはできませんが (デフォルトは線形) RenderOptions.BitmapScalingMode、スケーリングされたビットマップの表示品質をより適切に制御するオプションを設定できます。例えば:

RenderOptions.BitmapScalingMode="NearestNeighbor"またRenderOptions.BitmapScalingMode="HighQuality"

MSDN http://msdn.microsoft.com/en-us/library/system.windows.media.bitmapscalingmodeの各スケーリング モードに関する詳細情報があります。

それでもグラフィックがぼやける問題がある場合UseLayoutRounding="True"は、ルート要素で設定してみてください。これにより、WPF アプリケーションでギザギザの線を引き起こす可能性のある要素のサブピクセル配置が無効になります

于 2013-02-09T10:31:31.940 に答える