BMP変換

解決


東海岸  2006-03-02 15:08:35  No: 20324  IP: 192.*.*.*

度々お世話になります。
下記のようにJPEG画像をBMPに変換したのですが
300ファイルを処理し50秒ほどかかりました。
環境は  Win98SE,Celeron400MHz,64MB,Delphi6-Personal,
JPEG画像は1024×768,300kb程。
"showmessage"をいれて調べたら"Assign"に結構時間がかかっていました。
もっと高速に変換できる方法がありましたらお教え願います。

  wTJpg  := TJpegimage.Create;
  wTBmp  := TBitmap.Create;
  wTJpg.LoadFromFile(ファイル名);
  wTBmp.Assign(wTJpg);   <- - - - -結構遅い
  .
  .

編集 削除
なぜだろう  2006-03-04 01:52:17  No: 20325  IP: 192.*.*.*

フォルダ内のJPGファイルを連続で読み込んでImageに表示する同じソースコードを D4とD6でコンパイルしてみたら、実行スピードは D4の方が倍くらい速かった。

編集 削除
東海岸  2006-03-04 11:18:09  No: 20326  IP: 192.*.*.*

”なぜだろう”さんへ。
ずいぶんお手間をとらせたみたいでありがとうございます。
Delphi6を再インストールしてみましたが解決できず、後は
OSの再インストールを試すのみ。どうも私のマシンの環境が問題のようです。
ありがとうございました。

編集 削除
sadoyama さどやま  URL  2006-03-04 15:28:55  No: 20327  IP: 192.*.*.*

「解決」が打たれましたが、実際の解決ではないようなので。
  また、画像を扱うものにとって処理速度の向上は最も関心あることですので、これを機会に少し試してみました。

  Assign は画像情報の全面的変換なのでどうしても時間がかかります。
  劇的な改善策をご存知の方がいれば、私も助かります。
  D6 -> D4 で倍というのはすごいことだと思います。
  私は D4 を持っていないので、D3 で試そうとしたのですが、再インストールしないと使えない状態になっていて調べることができませんでした。

  気は心程度であれば、GDI+ を使用することにより、私の環境での計測では 25% 前後処理を早めることができました。

  因みに私のテスト環境は
  D7 Professional, Windows2000 SP4, 
  CPU Celeron 2.66GHz, 空きメモリ 45Mb(Celeron が泣いている)
  使用 Jpg画像 1024 * 768 です。
  
  また、GDI+ への入り口は次で示されています。
https://www.petitmonte.com/bbs/answers?question_id=2793

編集 削除