WPFでアンチエイリアシングを無効にする方法

WPFではデフォルトでベクトル描画のアンチエイリアシングが有効になっています。これによってジャギーのないエッジが描画できるのですが、ボケたようなエッジになるのを避けたい場合があります。これを無効にするには、RenderOptions.EdgeMode="Aliased" を使います。デフォルトではEdgeMode=”NotSpecified”になっています。

image   image

     EdgeMode="NotSpecified”             EdgeMode=”Aliased”

また、画像の場合には拡大したときにとるサンプリング手法によって、やはりボケた感じになる場合があります。これを避けたいときはRenderOptions.BitmapScalingMode="NearestNeighbor"にすることです。すると最近点サンプリングをするため、ボケはなくなります。しかしジャギーが発生します。デフォルトではUnspecified(Fant)になっており、スケーリング モードにはそれ以外にHighQuality(Fant), LowQuality(Linear)があります。

image   image

         Fant                                               NearestNeighber