
No.1ベストアンサー
- 回答日時:
>他によい(JPEG-6bより高速)変換方法はないでしょうか?
.NETが使えるなら
http://www.atmarkit.co.jp/fdotnet/dotnettips/533 …
の方法を用いて「WindowsにインストールされているJpegエンコーダを呼び出せる」のですが…。
MFCダイアログベースでは「コーデックのリストを取得し、エンコーダを特定し、エンコーダをロードして、エンコーダの初期化をして、エンコーダに静止画1枚をフレームデータとして入力ストリームに流し込み、出力ストリームに出て来たフレームデータをjpegデータとして保存する」と言う作業を「すべて自前で」行う必要があるでしょう。
.NETの場合、ImageオブジェクトのSaveメソッドで上記のような「色々と面倒な事」を内部でやってくれるので、簡単なんですが…。
簡単ではありませんが、MFCでコーデックを呼び出して使用する方法が、必ずある筈です(当方なら、そんな苦労はしたくないので.NETに乗り換えますが)
>そこではJPEG-6bというオープンソース?を使って変換を行っています.
今の時代、たいていのWindowsで標準でJpegのコーデックがインストール済みなので、自前で変換したり、追加ライブラリで変換するのは時代遅れと言えます。
.NETなど、コーデックを簡単に呼び出せる環境を使って「関数一発」が今のトレンディです。
全体を.NETに乗せ換えるのが無理なら、jpeg保存処理だけ.NETで組んで別モジュールにして、本体でモジュールをロードして呼び出して使う、などで良いかも知れません(要は、jpegの保存ルーチンをプラグイン化して、本体プログラムでプラグインをロードして使う、と言う事)
この回答へのお礼
お礼日時:2009/10/29 20:05
ありがとうございます.
その方法で試してみようかと思います.
今回は処理速度重視なので
簡単さも重要ですが,他にもよさそうな方法があれば
またお願いいたします.
No.2
- 回答日時:
VC6からなら GDI+かなぁ ・・・
変換に時間がかかっているのか ファイルのIOで時間をとられているのか検証してみたほうがいいかも
VC6付属のMSDNに GDI+を使ってPNGで保存するサンプルがありますよ
『Converting a BMP Image to a PNG Image』
この保存方式を決めている
GetEncoderClsid(L"image/png", &encoderClsid);
を
GetEncoderClsid(L"image/jpeg", &encoderClsid);
に変更すれば出来るはずです
参考URLは 英語版です
参考URL:http://msdn.microsoft.com/en-us/library/ms533837 …
この回答へのお礼
お礼日時:2009/11/06 18:16
返信遅くなり申し訳ありません.
ありがとうございます.
IOと比較して変換に多く時間がかかっているようです.
ちょっと難しそうですが,調べてやってみようと思います.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
家電製品の電力周波数を変える機械
-
エクセルVBAの自動変換機能?
-
c++でmatからvectorへの変換の...
-
VB6からVB2010への変換について
-
特定のタイムゾーンからtime_t...
-
bitmapクラスをiconクラスに変...
-
DOSコマンドでの文字コード変換...
-
ビットマップファイルを24ビ...
-
線対称の角度を求める
-
.sb3のファイルを.sb2に変換す...
-
エクセルのvbaで検索ボタンを作る
-
【EXCEL】カナ、ひらがなを英字...
-
テキストボックス内の型変換と...
-
VC++2008のC2664エラー
-
3のつく数字と3の倍数のみを表...
-
bmp→jpgに、jpg→bmpに
-
はしごの高をマックで表示する...
-
進法を変換する時に、相性のい...
-
三角形を逆三角形にしたいです...
-
VB 6 を VS 2012に変換するには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
家電製品の電力周波数を変える機械
-
Mac 乗数の入力方法
-
3のつく数字と3の倍数のみを表...
-
エクセルVBAの自動変換機能?
-
VB.NETをJavaに変換するツール...
-
c++でmatからvectorへの変換の...
-
分を時間に変換するプログラム
-
緯度、経度の 10進法と 60進法...
-
逆コンパイルと逆アセンブルの...
-
なぜ通信には16進数文字列が使...
-
VB6からVB2010への変換について
-
10進数をBCDに変換する方法
-
C++からCへのソース変換について
-
VB6で10進数を32進数に変換する...
-
php
-
画像ファイル変換(Tiff→PDF)
-
VB.NETからJavaに変換するツー...
-
PHPで、日本語からアルファベッ...
-
WinHelpからHTML Helpに変換
-
マンセル⇔XYZ,RGB変換式或いは...
おすすめ情報