WPFでアンチエイリアシングを無効にする方法
WPFではデフォルトでベクトル描画のアンチエイリアシングが有効になっています。これによってジャギーのないエッジが描画できるのですが、ボケたようなエッジになるのを避けたい場合があります。これを無効にするには、RenderOptions.EdgeMode="Aliased" を使います。デフォルトではEdgeMode=”NotSpecified”になっています。
EdgeMode="NotSpecified” EdgeMode=”Aliased”
また、画像の場合には拡大したときにとるサンプリング手法によって、やはりボケた感じになる場合があります。これを避けたいときはRenderOptions.BitmapScalingMode="NearestNeighbor"にすることです。すると最近点サンプリングをするため、ボケはなくなります。しかしジャギーが発生します。デフォルトではUnspecified(Fant)になっており、スケーリング モードにはそれ以外にHighQuality(Fant), LowQuality(Linear)があります。
Fant NearestNeighber
Comments
Anonymous comments are disabled
About hiroyuk
マイクロソフト㈱エバンジェリスト。北海道大学理学部物理学科卒。リアルタイム3Dグラフィックスを専門とし、グラフィックスやシェーダに関する技術文章を執筆・講演。 DirectX SDK日本語ドキュメントの開発に携わるとともに、Windows Presentation Foundation プログラミング(オーム社)、Game Programming Gemsシリーズ、リアルタイム レンダリング第2版(ボーンデジタル)、Texturing & Modeling, A Procedural Approach などを翻訳・監修、XAMLプログラミング(ソフトバンク クリエイティブ)を執筆。趣味は薪割り。