Tiffファイルにエクスポートする際に解像度を設定することはできますか?【※サンプル有り】
対象製品
ActiveReports for .NET 6.0J Professional
詳細
ActiveReports の Tiffエクスポート機能は、圧縮形式(CompressionSchemeプロパティ)にかかわらず、200×196 DPI の解像度で Tiffファイルを出力する仕様となっております。この解像度を変更する機能は、用意されておりません。
Tiffファイルの解像度を指定して出力したい場合、以下のような方法が考えられます。こちらをご参考ください。
なお、以下の方法は、全て こちら にサンプルをご用意しております。ご参考ください。
Tiffファイルの解像度を指定して出力したい場合、以下のような方法が考えられます。こちらをご参考ください。
なお、以下の方法は、全て こちら にサンプルをご用意しております。ご参考ください。
- 出力したTiff画像の解像度を.NET標準の Bitmapクラスで変更する方法
ActiveReports の Tiffエクスポート機能で出力した画像を.NET標準の Bitmapクラスでカプセル化し、SetResolutionメソッドで解像度を設定した上で、Tiff形式で保存する方法です。
[Bitmap.SetResolution メソッド (System.Drawing)]
http://msdn.microsoft.com/ja-jp/library/system.drawing.bitmap.setresolution.aspx
但し、こちらの方法の場合、一旦 ActiveReports の Tiffエクスポート機能で出力した Tiffファイルの解像度を変更しているだけです。画像ファイルのDPI値は変更されますが、画像の鮮明度が向上するわけではございません。
また、こちらの方法は、複数のページで構成される Tiffファイル(マルチページTiff)には適用できません。複数ページのレポートに対して、本処理を実行しても最初のページしか Tiffファイルに出力することができません。 - .NET標準の Bitmapクラスを使用して、レポートをTiff形式で出力する方法
ActiveReports では、Page.Drawメソッドを使用することで生成されたレポートのページを Graphicオブジェクトに描画することが可能です。
Graphicオブジェクトは、.NET標準の Bitmapクラスで直接操作することが可能ですので、ActiveReports の Tiffエクスポート機能を全く使用することなく、レポートを Tiffファイルに出力することが可能です。また、この方法は 1.の方法と異なり、マルチページTiff の出力が可能です。
但し、この方法の場合、Windows XP 環境では、"CompressionLZW"、"CompressionNone"のみが使用可能であり、それ以外の圧縮形式である "CompressionCCITT3"、 "CompressionCCITT4"、"CompressionRle" はご利用頂けません。これは、以下の理由によるものです。
- Windows XP の GDI+ では、色深度が1の時(PixelFormatプロパティが"Format1bppIndexed"の時)以外は、"CompressionCCITT3", "CompressionCCITT4", "CompressionRle" の圧縮形式を使うことができません。
※Windows 7 の GDI+ では、デフォルト色深度でもこれらの圧縮形式の使用が可能のようです。 - Bitmap のコンストラクタを「new Bitmap(x, y, Format1bppIndexed)」とした場合、これらの圧縮形式使ったTiffの作成が可能になります。
しかしながら、"Format1bppIndexed"の場合、色が使用できません。
また、インデックスカラーの Bitmap からは Graphics が取得できないため、Page.Drawメソッドによる描画自体が不可になるため、この方法自体を使用することができません。
なお、前述1.やこの方法は、Bitmap などの.NET標準のクラスを使用した方法です。これらのクラスは弊社が規定するものではございません。ご不明な点がある場合には、マイクロソフト社にお問い合わせいただくか、各種技術資料をご参考ください。
◆参考情報
[マネージ GDI+ でのイメージ エンコーダーおよびイメージ デコーダーの使用]
http://msdn.microsoft.com/ja-jp/library/bb882579.aspx
[Image クラス (System.Drawing)]
http://msdn.microsoft.com/ja-jp/library/system.drawing.image.aspx
[Bitmap クラス (System.Drawing)]
http://msdn2.microsoft.com/ja-jp/library/system.drawing.bitmap.aspx
[Encoder クラス (System.Drawing.Imaging)]
http://msdn.microsoft.com/ja-jp/library/system.drawing.imaging.encoder.aspx
[Creating and Saving a Multiple-Frame Image (Windows)]
http://msdn.microsoft.com/ja-jp/library/ms533839 - Windows XP の GDI+ では、色深度が1の時(PixelFormatプロパティが"Format1bppIndexed"の時)以外は、"CompressionCCITT3", "CompressionCCITT4", "CompressionRle" の圧縮形式を使うことができません。
- LEADTOOLS を使用する方法
弊社では画像処理コンポーネントとして「LEADTOOLS」をご用意致しております。
[LEADTOOLS Imaging Pro 16.5J | GrapeCity Developer Tools]
http://www.grapecity.com/tools/products/leadimagingpro165
LEADTOOLS では、PDFファイルを取り扱うプラグイン製品である「PDF Plug-in」を使用することで PDFファイルを読み込むことが可能です。また、読み込んだ PDFデータを Tiffファイルに変換して出力することも可能です。
ActiveReports の PDFエクスポート機能でレポートを PDF形式で出力し、LEADTOOLS の機能で Tiffファイルに出力するという方法もご検討ください。
関連情報
キーワード
HowTo エクスポート サンプル有り