1. 程式人生 > >關於c#儲存圖片 圖片大小改變的問題

關於c#儲存圖片 圖片大小改變的問題

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();