BMP→PNG変換について


現在、ブラウザ端末上に画像データを表示するにあたり以下の手順で
行っています。

①DB中に独自の形式で格納している画像データを取り出す
②独自形式画像データ→BMP形式に変換しファイルに書き込む
③書き込まれたBMPファイルをPNGファイルに変換(DLL)
④PNGファイルに変換し画面に描画

ここで2度もファイル化することに対する違和感と現実的な処理
時間の大きさに違った方式が無いか模索しています。

ここで
 メモリ中のBMP形式データをPNG形式に変換出来ないか?
と考えています。  ※ファイル書き込みが1回にへる
何か手立ては有るでしょうか?

勿論、別の方式でも結構ですが
様々なしがらみで、抜本的改造は出来ませんので!(泣)
VC++6.0です

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2009/05/13 16:37:58
  • 終了:2009/05/14 14:59:04

ベストアンサー

id:miyamuko No.2

miyamuko回答回数29ベストアンサー獲得回数112009/05/13 22:48:15

ポイント35pt

抜本的な改造になってしまうかもしれませんが、

libpng を使えばメモリ上の BMP から PNG への変換はできると思います。

http://dencha.ojaru.jp/programs_07/pg_graphic_10_libpng_txt.html...

http://d.hatena.ne.jp/tueda_wolf/?date=20071210&guid=on

http://dencha.ojaru.jp/programs_07/pg_graphic_10a2.html


>④PNGファイルに変換し画面に描画

これは変換した png ファイルを読み込んで、ネットワークに書き込んでいる (CGI なら stdout)

ってことですよね。

png_init_io や png_set_write_fn を使えば、ファイルには一切書かずに実装可能だと思います。

id:gin106

やはり、他にも有りますよねぇ・・・・

2009/05/14 09:10:18

その他の回答(1件)

id:Yunoka No.1

yunoka回答回数27ベストアンサー獲得回数32009/05/13 16:52:01

ポイント35pt

http://stackoverflow.com/questions/366768/convert-bitmap-to-png-...

VCということでMFCをお使いなら上記サイトの、

CImage classをつかうやり方はどうでしょう?

id:gin106

やはり、そうですよね・・・・・

2009/05/13 17:06:56
id:miyamuko No.2

miyamuko回答回数29ベストアンサー獲得回数112009/05/13 22:48:15ここでベストアンサー

ポイント35pt

抜本的な改造になってしまうかもしれませんが、

libpng を使えばメモリ上の BMP から PNG への変換はできると思います。

http://dencha.ojaru.jp/programs_07/pg_graphic_10_libpng_txt.html...

http://d.hatena.ne.jp/tueda_wolf/?date=20071210&guid=on

http://dencha.ojaru.jp/programs_07/pg_graphic_10a2.html


>④PNGファイルに変換し画面に描画

これは変換した png ファイルを読み込んで、ネットワークに書き込んでいる (CGI なら stdout)

ってことですよね。

png_init_io や png_set_write_fn を使えば、ファイルには一切書かずに実装可能だと思います。

id:gin106

やはり、他にも有りますよねぇ・・・・

2009/05/14 09:10:18
  • id:pahoo
    BMP画像ファイルを直接ブラウザに表示するのではいけないのでしょうか?
  • id:gin106
    これは、ある意味では正解でしょうが・・・
    サイズの問題=描画スピードの問題 を考えているのだろうと思われます

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません