我希望能够拍摄低质量的屏幕图像。我可以拍一张位图,但无论我做什么,都无法降低它的质量。
答案 0 :(得分:3)
Image bmp1 = GetScreenImage ();
// Save the image as a GIF.
bmp1.Save("c:\\button.gif", System.Drawing.Imaging.ImageFormat.Gif);
答案 1 :(得分:3)
我会尝试将图像转换为压缩的jpeg。关于jpegs的好处是你可以设置质量应该有多高(即你想要压缩多少):
注意:质量应在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;
}