2011年8月21日日曜日

wpf : Imageをピクセルスナップさせるプロパティはあった

前の投稿、「wpf : WriteableBitmapをピクセルスナップさせて等倍表示 」にあたる機能は標準のプロパティにありました。 UseLayoutRoundingプロパティです。

<Image Name="mainImage" UseLayoutRounding="True" Stretch="None"/>

と書けば自前コードでのピクセルスナップは必要ありませんでした。 見逃してた。 車輪の再発明でお恥ずかしい限りです。

ただ、完全に無駄足だったわけではないかもしれません。 こちらのブログに「RenderTransformとLayoutTransformの違いを見るに,パフォーマンス的には恐らくSnapToDevicePixelsが有利,ということになるんでしょうか・・・?」との記述があります。

「パフォーマンス的には」ってところを調べるのは私には荷が重いですね。 ホントにそうか確認するのは必要に迫られたとき、つまりはパフォーマンス的にギリギリのソフトを作ったときにだけなんだろうけど、そんなソフト作ることはなさそうです。

そんなこんなで、部分的にでも前の投稿のコードが要る人が出てくる可能性はあるので、前の投稿は残しておきますか。