none
C#でA3サイズのTiffファイルを作成する方法 RRS feed

  • 質問

  • 解像度96dpiのディスプレイで
    以下のようにして作成したところ、
    Graphics g = this.CreateGraphics();
    nWidth = (int)Math.Round(297* g.DpiX / 25.4);
    nHeight = (int)Math.Round(420 * g.DpiY / 25.4);
    Image newImage = new Bitmap(nWidth, nHeight, g);

    作成されたファイルの幅は29.71cm、高さは41.98cmとなりました。
    正確にA3サイズのファイルを作成する方法はありませんか?

    2009年9月10日 5:05

回答

  • 96dpiだと1ドット25.4/96/2mmの誤差があるのは当然です。
    297mm * 420mmピッタリにしたいのならdpiを気にしないと一致しませんよ。

    using (System.IO.FileStream fs = new System.IO.FileStream(@"C:\Test.tiff", System.IO.FileMode.Create, System.IO.FileAccess.Write))
    {
        System.Drawing.Bitmap bmp = new Bitmap(2970 / 2, 4200 / 2);
        bmp.SetResolution(254 / 2, 254 / 2);
        bmp.Save(fs, ImageFormat.Tiff);
    }

    • 回答としてマーク 菊地俊介 2009年10月6日 6:39
    2009年9月10日 9:37

すべての返信

  • 96dpiだと1ドット25.4/96/2mmの誤差があるのは当然です。
    297mm * 420mmピッタリにしたいのならdpiを気にしないと一致しませんよ。

    using (System.IO.FileStream fs = new System.IO.FileStream(@"C:\Test.tiff", System.IO.FileMode.Create, System.IO.FileAccess.Write))
    {
        System.Drawing.Bitmap bmp = new Bitmap(2970 / 2, 4200 / 2);
        bmp.SetResolution(254 / 2, 254 / 2);
        bmp.Save(fs, ImageFormat.Tiff);
    }

    • 回答としてマーク 菊地俊介 2009年10月6日 6:39
    2009年9月10日 9:37
  • ありがとうございました。
    SetResolutionメソッドは知りませんでした。
    2009年9月15日 8:06
  • 皆様、こんにちは。

    gekkaさん、回答ありがとうございます。

    hsyutoさん、フォーラムのご利用ありがとうございます。
    有用な情報と思われたため、勝手ながらgekkaさんの回答へ回答マークをつけさせていただきました。

    今後ともフォーラムをよろしくお願いします。
    それでは!
    2009年10月6日 6:40