none
Internet Explorerを介して保存したBMPのDPI値について RRS feed

  • 質問

  • Internet Explorerを介して保存(メニュー:「名前を付けて保存」)したBMPのDPI値が96DPI以外であった場合、強制的に96DPIに変更されてしまいます(画像サイズは変わらない)。

    環境として、以下のInternet Explorerのバージョン、確認方法としては以下の2つで確認しました。

    【Internet Explorerのバージョン】

    • Internet Explorer 6 (Windows XP 環境)
    • Internet Explorer 7 (Windows Vista 環境)
    • Internet Explorer 8 (Windows 7 環境)
    • Internet Explorer 9 (Windows 7 環境)

    【確認方法】

    • 確認方法①

     Microsoft PaintのプロパティでDPI値を確認

    • 確認方法②

     Microsoft Paintに問題があるのかと思い、C#で、System.Drawing.Bitmap を利用して、縦横の解像度を取得してみました。  

    <コーディング内容>

    /// bmpPath:Bitmapファイルのフルパス

    public void Hoge(string bmpPath)

    {

        // 対象画像を読み込む

        Bitmap bmpData = Bitmap.FromFile(bmpPath);

        // 縦と横の解像度を取得する

        float hRes = bmpData.HorizontalResolution;

        float vRes = bmpData.VerticalResolution;

    }

    結果ですが、確認方法①、確認方法②の両方で、200DPIや76DPIのBitmapをInternet Explorerを介して保存した場合、画像サイズの変更は行われず、強制的にDPIの値だけが96DPIになっていることを確認しました。

    本件につきまして、何かご教授いただけると幸いです。


    2013年12月17日 6:00

すべての返信

  • フォーラム オペレーターの星 睦美です。

    私のほうで調べてみた限りでは、残念ながら質問に書かれているInternet Explorer のバージョンで「名前を付けて保存」をした場合のBMP ファイルのDPI値 を説明した情報は見つかりませんでした。

    あくまでも私が情報を調べてみたなかでの感想ですが、Masahiro Mizuguchi さんが検証して確認したDPI 値が96DPI であるのは、Windows  の画面解像度が96DPI を基準にしているためで、Internet Explorer で「名前を付けて保存」をした場合の仕様ではないかと思います。


    フォーラム オペレーター 星 睦美 - MSDN Community Support

    2013年12月20日 6:22
  • 星 睦美 様

    返信ありがとうございます。

    Web Applicationを作成しているのですが、96DPI以外で作成されているBMPファイルをIEに表示させずにファイルをそのままダウンロードさせることで回避はできますが、「IE上に表示し、IEの標準機能である[名前を付けて保存]を利用し保存」という方法で実現できないかと色々調べているところです。

    PNGやTIFFでは、IE上に表示して保存しても、オリジナルのDPIと同じ値を保ったまま保存できるのですが、BMPだけ強制的に96DPIに更新されてしまいます。BMPだけ、Windowsの画面解像度を適用してしまうことなんでしょうかね。画像サイズはオリジナルと同じなので、DPI部分のみ画面解像度に。。画像サイズも96DPI相当に変更してくれていれば、誤解を生まないのですが、サイズは別DPIで生成したもの、だけど表示は96DPIと出てしまうので、96DPIで生成したものと誤解が生まれてしまっています。

    BMPをIE上にドラッグアンドドロップし、「F12 開発者ツール」を駆使しながらBMPの場合における挙動を追ってみているのですが、見当がついていない状況です。

    PNGやTIFFを表示する場合とBMPを表示する場合とで、内部的な処理が違うのだろうとは思っていますが、情報が見つからないですね。。


    2013年12月21日 5:08