- PR -

PixcelをTwipに変換する方法

1
投稿者投稿内容
Hiro
常連さん
会議室デビュー日: 2003/08/26
投稿数: 28
投稿日時: 2005-10-03 23:21
いつもお世話になります。
CrystalReportのIBlobFieldObjectに画像を
表示しようとしていますがWidth,Heightのサイズ設定が
Twip単位なので、BitmapのPixcel単位をどのように
設定すれば、画像を正確なサイズで表示できるかわかりません。
Pixcel値をTwip値に変換する方法はどのようにすればよいのでしょうか?
ご教授願います。

開発環境 VS.net 2003 C#
OS WindowsXP
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-10-04 06:10
.NET Frameworkには用意されていないようですので、Windows APIを使うことになるでしょう。GetDeviceCapsで1インチ辺りのPixel数を取得してください。1インチ=1440TWIPSですので、後は計算するだけです。

twips = pixels * 1440 / GetDeviceCaps(xxx, LOGPIXELSX);
Hiro
常連さん
会議室デビュー日: 2003/08/26
投稿数: 28
投稿日時: 2005-10-04 11:57
甕星さん ありがとうございます。
GetDeviceCapsの利用方法を調べて
プリンタデバイスに対する倫理インチ当たりのPixcel数は取得
できました。
今回はExportToDisk(ExportFormatType.PortableDocFormat,"Test.pdf")
にてCrystalReportをPDFにExportして利用したいと考えています。
このような場合でGetDeviceCapsで利用するデバイスコンテキストは
どのように取得すればよいのでしょうか?
又、PDFのエクスポート時に解像度を指定できるのでしょうか?
申し訳ありませんが、ご教授願います。
1

スキルアップ/キャリアアップ(JOB@IT)