
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ランキング
-
VB 6 を VS 2012に変換するには?
-
Mac 乗数の入力方法
-
COMP-3
-
中国語が文字コード変換で、一...
-
VB6からVB2010への変換について
-
ハフ変換の原理をわかりやすく...
-
文字コードの変換
-
緯度、経度の 10進法と 60進法...
-
アセンブラ言語の数字を数値に...
-
.sb3のファイルを.sb2に変換す...
-
シフト演算の結果の型
-
家電製品の電力周波数を変える機械
-
Macターミナルで実行中のプログ...
-
TCP/IP通信時のサーバーからの受信
-
Excel(VBA)でSetTimer関数を使...
-
AIXでのプロセス使用メモリの最...
-
C# シリアル通信でデータ受信...
-
FOM出版の公認テキスト&問題集...
-
メッセージボックスのボタン名変更
-
powershell を使いカレントディ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
家電製品の電力周波数を変える機械
-
逆コンパイルと逆アセンブルの...
-
エクセルVBAの自動変換機能?
-
10進数をBCDに変換する方法
-
VB6からVB2010への変換について
-
緯度、経度の 10進法と 60進法...
-
分を時間に変換するプログラム
-
C#で漢字→ローマ字を変換
-
なぜ通信には16進数文字列が使...
-
vb.netの型変換について
-
正規表現でルビを小書きに変換...
-
マンセル⇔XYZ,RGB変換式或いは...
-
C#で漢数字をアラビア数字に変...
-
VB6から.NETへアップグレード時...
-
php
-
VB 6 を VS 2012に変換するには?
-
3のつく数字と3の倍数のみを表...
-
C++からCへのソース変換について
-
エクセルのvbaで検索ボタンを作る
-
tex 郵便記号のだしかた
おすすめ情報