クラスを使用して、スケーリングされた画像をusingTransformedBitmap
に描画しています。使用するスケーリング モードを指定する方法はありますか? 何の影響もないようです。最近隣を使用したいのですが、ある種の双線形フィルターを使用しているようです。Bitmap
TransformedBitmap.CopyPixels
RenderOptions.SetBitmapScalingMode
質問する
2780 次
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 に答える