私はWPFアプリケーションで作業しており、実際のサイズで複数のページのTIFFを表示することができる必要があります。私は別のStackOverflowスレッドから持っているコードは、実際のサイズでそれらのいくつかを表示するために素晴らしい仕事をしていますが、約1700 x 800の新しいスキャンTIFFファイルは約600 x 400に表示されます。Tiff画像はWPFで実際のサイズを表示していません画像コントロール
私は '達成しようとしているのは、基本的にWindowsフォトビューアーがイメージを表示する方法のコピーです。それらを画面に合わせるか、ボタンを押すか、必要に応じてスクロールバーで実際のサイズにズームします。私は2つのtiffsを持っています。 1はJPEGがmspaintからtiffとして保存され、もう1つ(2)は古いスキャンされた文書です。 1は180dpi、32ビット深度、LZW圧縮、2解像度単位で、デジタルカメラで撮影されました。 2は200dpi、1ビット深度、2解像度単位、CCITT t.6圧縮であり、スキャンされた文書であった。動作しないファイルは300dpiですが、そうでなければ#2と同じです。
ここに画像を表示するために使用しているコードです。
// Open a Stream and decode a TIFF image
Stream imageStreamSource = new FileStream("C:\\Users\\cblair\\Documents\\Visual Studio 2010\\Projects\\WpfApplication1\\WpfApplication1\\flowers.tif", FileMode.Open, FileAccess.Read, FileShare.Read);
TiffBitmapDecoder decoder = new TiffBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
BitmapSource bitmapSource = decoder.Frames[0];
// Draw the Image
myImage.Source = bitmapSource;
及びXML
<ScrollViewer HorizontalScrollBarVisibility="auto"> <Viewbox> <Image x:Name="myImage" /> </Viewbox> </ScrollViewer>
私はDPIでいくつかの計算を行いましたが、WPFは「デバイスに依存しないピクセルを1/96インチ」として使用しているように見えます。したがって、DPIが高くなると小さく表示されます。 –