無効化アンチエイリアスは、コンポーネントのラインナップイメージ【定休日]

StackOverflow https://stackoverflow.com/questions/1738956

質問

書い小さなログインのダイアログが組み込まれているバナーのダイアログが表示される。全てきましたことを除いて、デフォルトでは、コンポーネントのラインナップの抗エイリアスの全体画像、テキストが含まれるすべての悔しい雪.

後のビットの探索、のいくつかのページの結果が通説とな抗エイリアシングできない無数のコンポーネントのラインナップ.できず、又は拒否す。

この軽微な問題かし、テキスト、画像、代わりに重ね合わせのラベルと同じテキストの背景画像には、同様の効果が得らっ認めなければならないのは、イーニョスデヴェント公園).

おかげさ Rob

役に立ちましたか?

解決

しかコンポーネントのラインナップはいつもアンチエイリアスがスケーリングでビットマップ.しかし対応することができるでしょう達成目標を回避することによるビットマップをスケーリングといいます。

あの二つのステップ

  1. セット SnapsToDevicePixels="true" 画像
  2. 設定ScaleTransform画像スケールでできる装置をピクセル=つのピクセルのビットマップ

を計算するために必要なScaleTransform算画面のDPIのようになります:

var DPI = Win32Functions.GetSystemMetrics(SM_CYICON) / SystemParameters.IconHeight * 96;

その後のビットマップい:

var scale = bitmapDPI / DPI;
var transform = new ScaleTransform(scale, scale);

なビットマップのピクセルのマッチ装置をピクセルです。コンポーネントのラインナップしません伸ばすビットマップもありませんanti-aliasing.

だいたいと思い伸ばしてリフレッシュ画像の高解像度画面がなアンチエイリアス(例えばダブルのすべてのピクセル)をチのビットマップ自分のコンピュータのいずれかのアルゴリズムご利用の上を伸ばしてのビットマップ.

他のヒント

それは本当にアンチエイリアシングではない - それが問題を引き起こし、私はで私のブログに(との問題を解決する制御について)について書いたことをサブピクセルポジショニングです。

のhttp:// WWW .nbdtech.com /ブログ/アーカイブ/ 2008/11月20日/ぼやけ-画像・イン・wpf.aspxする

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top