拍摄屏幕的低质量图片

问题描述

| 我希望能够拍摄低质量的屏幕图像。我可以拍摄位图图片,但是无论如何我都不能降低其质量。     

解决方法

        
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;
}