2011-06-17 9 views
6

画面の画質を落としたいと思っています。私はビットマップ画像を撮ることができますが、私が何をしても、私はその品質を下げることはできません。画面の画質を落とす

+0

ているあなたは色深度を軽減またはピクセルの数を減らすことを意味しますか? –

+0

ファイルサイズを減らすためにどのような私ができる。 –

+0

か、解像度を維持し、に変換したいですpngやjpegのような圧縮されていないフォーマット? –

答えて

3
Image bmp1 = GetScreenImage(); 

// Save the image as a GIF. 
bmp1.Save("c:\\button.gif", System.Drawing.Imaging.ImageFormat.Gif); 

Msdn for more

3

私は画像を圧縮されたJPEGに変換しようとします。 jpegの素晴らしい点は、品質をどれくらい高くするか(つまり圧縮する量)を設定できることです。

注:品質は1〜100の間である必要があります最小サイズ/最低品質。

public void save(string filename, Bitmap img, int quality) 
{ 
    // quality encoding 
    EncoderParameter qualParam = new EncoderParameter(Encoder.Quality, quality); 

    // code for jpeg image type 
    ImageCodecInfo jpegCodec = FindEncoderInfo("image/jpeg"); 


    EncoderParameters encoderParams = new EncoderParameters(1); 
    encoderParams.Param[0] = qualParam; 

    img.Save(filename, jpegCodec, encoderParams); 
} 

private ImageCodecInfo FindEncoderInfo(string mimeType) 
{ 
    // search through all codecs for all formats 
    ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders(); 

    for (int i = 0; i < codecs.Length; i++) 
    { 
     if (codecs[i].MimeType == mimeType) 
     { 
     return codecs[i]; 
     } 
    } 
    return null; 
} 
関連する問題