元画像のDPIを維持したままJPEGを保存するプログラム

このQ&Aのポイント
  • WindowsXP/Vistaで、.NET Frameworkのインストールなく、サードパーティのライブラリを使わずに、Visual C++で開発する方法
  • JPEGファイルを読み込んで加工後、元画像のDPIを維持しながら再度JPEGファイルに保存するプログラムが必要
  • MFCのCImage::Saveを使用すると、DPIが失われてしまうため、他の方法を探している
回答を見る
  • ベストアンサー

元画像のDPIを維持したままJPEGを保存するプログラム

JPEGファイルを読み込んで加工した後、元画像のDPIを維持したまま JPEGファイルに保存するプログラムを作成したいのですが、その方法が 分かりません。 環境は以下のとおりで、この環境を変えることは不可です。 ・WindowsXP/Vista ・.NET Frameworkのインストールなし ・サードパーティのライブラリを使用しない (もし使用する場合は、自由に再配布可能なものに限る) ・Visual C++で開発 たとえば、400dpiのJPEGファイルを読み込んで、画像を編集した後に、 再度400dpiでJPEGファイルに保存したいのですが、MFCのCImage::Saveを 使用して保存すると、DPIが失われてしまいます。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • bardfish
  • ベストアンサー率28% (5029/17765)
回答No.1

>MFCのCImage::Saveを使用して保存すると、DPIが失われてしまいます。 まぁ、当然でしょうねぇ。 >・サードパーティのライブラリを使用しない となると、自前で全てコーディングすることになるでしょう。 というか、加工するためにメモリ内(或いはコントロール内)に画像を展開した時点でDPI等の情報はなくなり純粋なビットマップデータとなります。 JPEG圧縮後に適切な場所に付加情報を足した状態でファイルとして保存すれば良いのです。 JPEGのヘッダ情報の仕様を調べればどうすればいいかわかるはずです。

onionslice
質問者

補足

早速の回答ありがとうございます。 dpiに依存して画像データ自体も変化すると思っていましたが、実際にはdpi情報と画像データには依存関係は無いと思ってよろしいでしょうか? (例えば、dpiを400->500に変更しても、画像データ自体は変化しないが、紙などに出力すると画像サイズが異なる?) ネットでdpiについて調べてみたところ、そんな感じに取れました。

関連するQ&A

  • 読み込んだjpeg画像がグレーがかった線でフチどられている

    こんにちは。scriptについてではないのですが質問させていただきます。 photoshopCSで書き出したjpeg画像をflashの[ファイル]→[読み込み]→[ライブラリに読み込み]でライブラリ内に配置しましたが、flash内にあるjpeg画像はなぜか画像の枠にグレーがかった線でフチどられてしまっています。 原因がまったくわからずflash上での問題なのか,それ以外なのかどうかもわからない状態です。宜しくお願い致します。 jpeg画像は最初にillustratorCSで作成したものをphotoshopCSで400dpiで書き出し、それをweb用に72dpiに変更して.jpegで保存したものをflashに読み込みました。

    • ベストアンサー
    • Flash
  • プレビューでjpegファイルを開いた時のDPI

    ご存知の方いらっしゃいましたら 教えていただけますか? プレビューでjpegファイルを開いた時 小さく表示されるファイルが有りますが、 プレビューで情報見たとき DPIの情報が有り jpegにDPIの情報が埋め込まれているのを知りました。 DPIの情報を変えるにはもう一度フォトショップ等で 保存し直さなければいけないのでしょうか? 画像自体に手を加えずにDPI情報だけ手を加える事は 可能でしょうか? よろしくお願いします

    • 締切済み
    • Mac
  • JPEG画像が保存出来ない

    送られたJPEG画像は見られるのですが保存しようと添付ファイルをダブルクリックすると開く画像と開かない画像があります。どうしてでしょうか? 開くほうはそのまま右クリックで保存が出来るのですが開かないほうはアイコンが×になっています。画像ファイルはどれも827KM~0.98MBまでのJPEG画像です。 どうしたら開いて保存出来るようになるのでしょうか?

  • EPS画像(CMYK,300dpi)をJPEG画像(RGB,300dpi)に色を変えずに変換する方法

    WindowsXP(SP2)+IllustratorCS3+PhotoshopCS3環境で 商業用印刷データを作成してます。 EPS画像(Adobe RGB→CMYK変換,300dpi,ICCプロファイル埋込無)を JPEG画像(RGB,300dpi)に極力、色を変えずに変換する 方法を教えて下さい。 PhotoshopCS3の「プロファイル変換」で「変換後のカラースペース」を 「sRGB iec61966-2,1」にすると、変色せずにJPEG画像(RGB,300dpi)に なるのですが、この方法でよいのでしょうか? PhotoshopCS2からCS3にバージョンアップしてから、デフォルトで 「WEB用に保存」しても色合いが変わらなくなり、便利になりましたが 解像度は最高で「100dpi」までなので、この方法は使えません。 上記方法よりもっと簡単な方法はないでしょうか?

  • ACDSee JPEG 画像

    ACDSee JPEG 画像(ペンタックス添付ソフト)で保存した画像ファイルを他のパソコンに送信したとき、すごく大きな画像になってしまうらしいのですが、同じような状態で受け取れるように送るにはどうしたらいいでしょうか? 2560-1920ピクセル、解像度72dpiです。

  • JPEG画像表示プログラムについて

    こんにちわ。お時間ありましたらご教授お願いします。 JPEG画像を表示させることができるプログラム(C言語)を作成したいのですが、うまくいかず困っています。私はJAVAを少し触った程度なので知識がなく困っております。 添付させていただいたプログラムはbmp画像を表示させることはできるのですが、JPEGライブラリを使ってJPEG画像を表示できるプログラムを作りたいと思っております。 説明不足でわかりにくいですが、ご教授お願いします。 開発環境はCです。よろしくお願いします。

  • JPEGで保存できない!見れない!

    友達からメールで送られてきた写メールでとった画像を 右クリックして「名前をつけて画像を保存」にしたあと 保存したフォルダを見てみるとJPEGで保存されておらず 違うもので保存されてしまいます。 保存する時に出てくるフォルダにすでに保存されているファイルのアイコンが カギのようなマークになったりすることもあります。 そして保存したファイルのプロパティを見てみると 『ファイルの種類:ファイル』になっています。 アイコンもJPEGでないものになっています。 アプリケーションから開いてみると見ることができますが(IEで開けます)、 プレビューはされません。 縮小表示でも見れません。 『これらのファイルを開くときは、いつもこのアプリケーションを使う』の ところにチェックを入れることもできません。 さらに他の人から送られてきたJPEGの画像のファイルを見ようとしても ×が出てきて見れません。 今までに保存したJPEGのファイルは普通に見ることができます。 何がおかしいのでしょうか? どうすればJPEGで保存することができますか? ちなみにOSはMeです。 どなたか教えてください。お願いします。

  • pictureboxの画像の保存

    お世話になっております。 VC2005を使用しております。 pictureboxに描画されている画像を、CImageクラスを使用してjpgでファイルに保存するにはどのようにすればよいのでしょうか? 教えてください。 よろしくお願いします。

  • CImgae

    お世話になっております。 VC2005を使用しております。 その中で、CImageを使用してjpg画像を読み込み(CImage.load())、 picture box に表示します。 その後、picture box 内で画像を編集し、その編集画像を CImageを使用して保存(CImage.save())します。 どのようにすればよいかわかりません。 教えていただけないでしょうか? よろしくお願いします。

  • PCの画像のJPEG 保存の方法

    メールに添付して送られてきた画像をファイルで保存しています。これをJPEG イメージで保存するにはどうすればよいのでしょうか? パソコンはWindows Vista を使用しています。 よろしくお願いします。

専門家に質問してみよう