2009年1月23日金曜日

[WPF]画像をピクセル等倍で表示する

WPFの特徴として表示するコントロール等のサイズを実行環境に合わせて調整する機能があるようです。
参考「WPF アプリケーションのピクセル スナップ

でも、これ、困るんです。
JPG画像を表示したときに勝手に拡大されたり縮小されちゃってぼやけた感じになるのです。(なったのです。)

画像は600*400で72dpiの画像(dpiは関係ない?)で、これを最大化したフォームの中央にピクセル等倍で表示したかったのですが、普通のWindowsFormのやり方では800*533.333...で表示されちゃいます。
これをオリジナルのサイズで表示するにはこうやると良いっぽい。

【XAML】


 


【C#】

BitmapImage bi= new BitmapImage(new Uri("C:\test.jpg"));
this.ImageArea.Source = bi;
BitmapSource SourceData = (BitmapSource)this.ImageArea.Source;
this.ImageArea.Width = SourceData.PixelWidth;
this.ImageArea.Height= SourceData.PixelHeight;

0 件のコメント: