6
我希望能夠拍攝低質量的畫面圖像。我可以拍一張位圖圖片,但無論我做什麼,我都不能降低它的質量。拍攝低質量的畫面圖片
我希望能夠拍攝低質量的畫面圖像。我可以拍一張位圖圖片,但無論我做什麼,我都不能降低它的質量。拍攝低質量的畫面圖片
Image bmp1 = GetScreenImage();
// Save the image as a GIF.
bmp1.Save("c:\\button.gif", System.Drawing.Imaging.ImageFormat.Gif);
我會嘗試將圖像轉換爲壓縮的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;
}
你的意思是降低顏色深度或減少像素數? –
盡我所能,以減少文件大小。 –
還是要保持分辨率,並將其轉換成像png或jpeg這樣的有損壓縮格式? –