關於c#儲存圖片 圖片大小改變的問題
阿新 • • 發佈:2019-02-08
bitmap.RotateFlip(RotateFlipType.Rotate270FlipNone)呼叫這個方法之後儲存圖片,圖片會改變其原始大小,使用如下方法設定儲存圖片屬性
ImageCodecInfo jgpEncoder; //判斷圖片格式 if (path.ToLower().EndsWith(".jpg") || path.ToLower().EndsWith(".jpeg") ) { jgpEncoder = GetEncoder(ImageFormat.Jpeg); } else { jgpEncoder = GetEncoder(ImageFormat.Png); } System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new //設定圖片質量,100L則為高質量 EncoderParameter(myEncoder, 95L); myEncoderParameters.Param[0] = myEncoderParameter; //使用RotateFlip進行旋轉 bitmap.RotateFlip(RotateFlipType.Rotate270FlipNone); //根據設定好的屬性來儲存圖片 bitmap.Save(path, jgpEncoder, myEncoderParameters); //釋放bitmap bitmap.Dispose();