问题描述
|
我希望能够拍摄低质量的屏幕图像。我可以拍摄位图图片,但是无论如何我都不能降低其质量。
解决方法
Image bmp1 = GetScreenImage ();
// Save the image as a GIF.
bmp1.Save(\"c:\\\\button.gif\",System.Drawing.Imaging.ImageFormat.Gif);
MSDN为更多。
, 我会尝试将图像转换为压缩的jpeg。关于jpeg的好处是您可以设置质量的高低(即您希望将其压缩多少):
注意:质量应介于1到100之间(100是最大尺寸/最高质量,而1是最小尺寸/最低质量。
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;
}