C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: キャッシュファイル


(過去ログ 12 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■3464 / inTopicNo.1)  キャッシュファイル
  
□投稿者/ サブ (1回)-(2007/05/10(Thu) 21:56:06)

分類:[VB.NET (Windows)] 

お世話になります。
画像の一覧表示にサムネイルを使用し、そのサムネイルをクリックすると原寸大の画像が表示される。
というよくある画像ビューアのようなアプリを作成しています。
サムネイルは元の画像を縮小した Bitmap を HashTable に格納し、
あるグループごとに BinaryFormatter で HashTable ごとファイルに出力しています。
そして再度そのグループを表示する際にはそのファイルから表示するようにし、
Bitmap の縮小処理を省いて処理を速くしています。
しかし、Bitmapオブジェクトをそのままファイルにしているせいか、
その出力したファイルのサイズがやたら大きくなってしまいます。
他のフリーソフトで同じ数の画像のキャッシュファイルと比較しても何倍のファイルサイズとなっています。
何か良い方法があればご教授お願いいたします。

引用返信 編集キー/
■3512 / inTopicNo.2)  Re[1]: キャッシュファイル
□投稿者/ Hongliang (137回)-(2007/05/11(Fri) 23:20:11)
Hongliang さんの Web サイト
Image をシリアライズするのではなく、Image.Save で MemoryStream に書き出してやってそれをシリアライズするのはどうでしょうか。劣化を許容できるなら、Jpeg で Save してやればかなり圧縮できますよ。Png でもある程度の効果はあるでしょう。
引用返信 編集キー/
■3513 / inTopicNo.3)  Re[2]: キャッシュファイル
□投稿者/ サブ (2回)-(2007/05/12(Sat) 00:04:21)
No3512 (Hongliang さん) に返信
なるほど MemoryStream でシリアライズですか。
それに jpeg や png でやるならばてっきり一度ファイルとして出力しなければならないものだと思っていました。
ありがとうございます。これで解決できると思います。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -