PicutureBoxに表示した画像を保存するとサイズが大きくなるのはなぜ?

解決


ABC  2005-10-31 23:34:00  No: 127144

VB6.0でアプリケーションを作成しています。

PictureBoxに選択された画像(.jpg)を拡大・縮小などをせずにそのまま表示し、
SavePicture  にてその画像を保存したところサイズが161KB→2305KBになってしまいました。

どのように保存すれば、元の画像と同じファイルサイズで保存できるのでしょうか?


魔界の仮面弁士  2005-11-01 00:24:16  No: 127145

『Pictureプロパティ』は、元の画像形式を維持していますが、
『Imageプロパティ』は、画面の色数に応じたビットマップ形式にて
保持されることに注意してください。

例えば、
    Set Me.Picture1.Picture = Me.Icon
    SavePicture Me.Picture1.Picture, FileName1
    SavePicture Me.Picture1.Image, FileName2
のようにした場合、前者は Icon 形式、後者は Bitmap となります。

ただし、LoadPicture などで読み込まれた画像データは、Bitmap, Icon, Metafile の
いずれかの形式に変換されます。Jpeg や Gif は Bitmap 化されますので、
いずれにしても、元の JPEG の形式は失われてしまう仕様です。

> どのように保存すれば、元の画像と同じファイルサイズで保存できるのでしょうか?
同じサイズになるという保証はありませんが、
  http://yaplog.jp/orator/archive/29
のようにして、Jpeg 化するという手はあります。


名無し  2005-11-01 00:26:45  No: 127146

例えば256色の画像を読み込んで保存するとフルカラーになるとか。
なかった?


ABC  2005-11-01 01:31:02  No: 127147

魔界の仮面弁士さんありがとうございます。

保存される形式が変わってしまうためだったのですね。。。
分かりやすい説明で勉強になりました。

また、Jpeg化する方法も参考にさせていただきたいと思います。

>名無しさん
>例えば256色の画像を読み込んで保存するとフルカラーになるとか。
>なかった?
簡単に確認できる方法などありましたら教えてください。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加