image画像をJPEGで保存するには?


じんくん  2004-01-20 15:56:46  No: 111451  IP: [192.*.*.*]

大変お世話になっております。

掲題の件、画面に表示しているimageの画像を保存するには、
  SavePicture Image1,aaa
という書式となってしまいますが、これではBMPファイル形式で
保存されてしまいます。

直接、image画像をJPEG形式で保存する手段はありますでしょうか?
また、一度BMPで保存して、JPEGに簡単に変換する方法があるのでしょうか?

私の環境は、Win2000,VB6です。

どなたかご教授よろしくお願いします。

編集 削除
いな  2004-01-20 16:52:59  No: 111452  IP: [192.*.*.*]

他のWebページで恐縮ですが

http://www.bcap.co.jp/hanafusa/index.html
のグラフィック関係にある、
ピクチャーボックスで画像を拡大・縮小及びJPG形式で保存
は試されましたか?

編集 削除
じんくん  2004-01-20 17:25:21  No: 111453  IP: [192.*.*.*]

いな殿>
早速のご回答ありがとうございます。
上記HP参考しました。

しかし、この場合、他人のDLLを使うこととなってしまいますが、
標準のコンポーネントとか、ステートメント関係での変換は無理でしょうか?

他にも、方法があれば是非、教えて下さい。

よろしくお願いします。

編集 削除
Say  2004-01-20 17:40:59  No: 111454  IP: [192.*.*.*]

JPEGのフォーマット、アルゴリズムは公開されていますので、
それをもとに変換関数を自作すれば可能です。

ただし、あまりVB向きではありませんし、
特許問題にかかる可能性もあります。

やる気があるなら、Web検索で探してみてください。
C言語用ですがサンプルコードのついた書籍も出ています。

編集 削除
じんくん  2004-01-20 18:00:08  No: 111455  IP: [192.*.*.*]

Say殿>
回答ありがとうございます。

いろいろと大変かつ、問題があるんですね。
image(絵)をJPEG(絵)に、するだけなのにね。

一応、imageに貼り付ける原型ファイルが、JPEGなのですが、
1秒ごとに画像を更新(ファイルの上書き)をしているので、
必要な時のタイミングで、保存した時、名前等付けてる間に、
画像(時間)が進んでしまうのです。

とりあえずの対策として、下記のようにしてみます。
保存ボタン押された瞬間に、別名でファイルコピー(退避)しておいて、
それを保存するという形でやってみます。(出来たら「解決」とします。)

いな殿&Say殿>いろいろと、ありがとうございました!

編集 削除
Say  2004-01-21 00:58:11  No: 111456  IP: [192.*.*.*]

時間が間に合わないなら、一旦オンメモリにバッファリングして、
逐次、バッファからHDDに落とすという手もあるかと。

編集 削除