2

クラスを使用して、スケーリングされた画像をusingTransformedBitmapに描画しています。使用するスケーリング モードを指定する方法はありますか? 何の影響もないようです。最近隣を使用したいのですが、ある種の双線形フィルターを使用しているようです。BitmapTransformedBitmap.CopyPixelsRenderOptions.SetBitmapScalingMode

4

2 に答える 2

3
  • スケーリング アルゴリズムを指定することはできません。これは設計によるものです。
  • RenderOptions.SetBitmapScalingMode はレンダリングのみに適用されます。たとえば、32*32 のアイコンがあり、256*256 の位置に表示したいが、ブロック状に表示したい場合 (最近隣)。

アップデート

この問題を解決するためのいくつかの方法:

自分でやる: http://tech-algorithm.com/articles/nearest-neighbor-image-scaling/

フォームの使用: https://stackoverflow.com/a/1856362/361899

カスタム描画: WPF イメージで使用されるイメージ スケーリング アルゴリズムを指定する方法は?

AForge もありますが、それはあなたのニーズにはやり過ぎかもしれません。

更新 2

WriteableBitmapEx はおそらくあなたのために簡単に仕事をするでしょう: http://writeablebitmapex.codeplex.com/

WriteableBitmap のサイズを変更し、補間モードを指定すると、最近傍が存在します。

TransformedBitmap と WriteableBitmapEx はどちらも BitmapSource を継承しているため、既存のコードをまったく変更する必要はありません。

于 2013-04-05T01:32:03.463 に答える