我需要通過網絡來傳輸一些圖片,我保存JPEG和40%的圖像質量如下:更改尺寸
public void SaveJpeg(string path, Image image, int quality) {
if((quality < 0) || (quality > 100)) {
string error = string.Format("Jpeg image quality must be
between 0 and 100, with 100 being the highest quality. A value of {0} was
specified.", quality);
throw new ArgumentOutOfRangeException(error);
}
EncoderParameter qualityParam = new
EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality);
ImageCodecInfo jpegCodec = GetEncoderInfo("image/jpeg");
EncoderParameters encoderParams = new EncoderParameters(1);
encoderParams.Param[0] = qualityParam;
image.Save(path, jpegCodec, encoderParams);
}
但隨着這樣的JPEG文件的大小不夠小,我也改變質量,但這不是很好的外觀。有什麼辦法可以保存較小文件大小和適當外觀的圖片嗎?我不知道,但有沒有辦法使用System.Drawing.Graphics
對象,我也不需要壓縮文件,或者更改圖像的尺寸,現在只是圖片文件的大小很重要。
您可以使寬度和高度更小或者必須使圖片尺寸保持不變嗎? – 2012-01-01 13:02:11
@Jason Down不,我希望能找到一種無變化的方式 – Saeid 2012-01-01 13:03:09
那麼真的只有三種方法來減小文件的大小。降低質量,減小尺寸或將格式更改爲具有更好壓縮比的其他格式(不知道如何在.Net中以任何方式執行此操作,而不是通常的選擇)。 – 2012-01-01 13:08:48