2017-06-27 14 views
2

Bitmapを生成し、ハードドライブ(PNG)に保存し、ファイルのサイズを確認し、移動または削除する単純なC#スクリプトがあります画像。ビットマップを圧縮せずに圧縮したビットマップ

Bitmap bmp = new Bitmap(1024, 768); 
bmp.save(@"C:\User\...\image.png"); 

FileInfo fi = new FileInfo (@"C:\User\...\image.png"); 

if (fi.length > 50000){ 
//do Something 
} 

それをローカルに保存することなくBitmapの圧縮(RLE)のサイズを取得する他の方法はありますか?

+0

を使用すると、PNGは、RLEを使用すると思わせる何か? – Nyerguds

答えて

5

代わりMemoryStreamに画像を保存することができます:

Bitmap bmp = new Bitmap(1024, 768); 
using (var ms = new MemoryStream()) 
{ 
    bmp.Save(ms, ImageFormat.Png); 
    if (ms.Length > 50000){ 
     //do Something 
    } 
} 
+1

素晴らしい作品です! –

+0

'.Length'は信頼できますか?私は '.Position'が書かれたデータの実際の終わりでなければならないと思います。 – Nyerguds

関連する問題