4

との整数値でに設定されたImage要素で画像をスケールアップする方法を指定する方法はありますか?LayoutTransformScaleTransformScaleXScaleY

拡大縮小された画像を鮮明に(つまり、「最も近い」拡大縮小を使用して)、ぼやけることなく表示したいと思います。(ズームインしたときにビットマップ編集プログラムがどのように動作するか想像してみてください)。

の保護されたプロパティに気付いたVisualBitmapScalingModeので、このプロパティをに設定Imageするサブクラスを作成しました。ただし、これは効果がありませんでした。ImageBitmapScalingMode.NearestNeighbor

4

2 に答える 2

9

画像コントロールのXAMLでRenderOptions.BitmapScalingModeプロパティを設定できます。Imageクラスを継承する必要はありません。

于 2014-07-27T22:28:12.227 に答える
8

これを修正するには、ImageサブクラスでOnRenderをオーバーライドし、画像を描画する前にVisualBitmapScalingModeを設定します。

class MyImage : System.Windows.Controls.Image
  {
    protected override void OnRender(DrawingContext dc)
    {
      this.VisualBitmapScalingMode = System.Windows.Media.BitmapScalingMode.NearestNeighbor;
      base.OnRender(dc);
    }
  }
于 2010-05-26T14:08:52.113 に答える