VB6.0でアプリケーションを作成しています。
PictureBoxに選択された画像(.jpg)を拡大・縮小などをせずにそのまま表示し、
SavePicture にてその画像を保存したところサイズが161KB→2305KBになってしまいました。
どのように保存すれば、元の画像と同じファイルサイズで保存できるのでしょうか?
『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 化するという手はあります。
例えば256色の画像を読み込んで保存するとフルカラーになるとか。
なかった?
魔界の仮面弁士さんありがとうございます。
保存される形式が変わってしまうためだったのですね。。。
分かりやすい説明で勉強になりました。
また、Jpeg化する方法も参考にさせていただきたいと思います。
>名無しさん
>例えば256色の画像を読み込んで保存するとフルカラーになるとか。
>なかった?
簡単に確認できる方法などありましたら教えてください。
ツイート | ![]() |