C〓〓の中で指定の品質によってピクチャーの実例のコードを保存します。


プログラムの中で直接jpgピクチャを生産して、品質が原図に及ばないのは、マイクロソフトのImage.Save方法がピクチャ圧縮品質75まで保存しているため、保存したピクチャの品質が低いため、生成したピクチャの品質を向上させるには、自分でEncder Parameters類の品質パラメータとImageCodecInfo類のピクチャ保存フォーマットを設定する必要があります。System.Drawing.Imaging.Enccoder類は表示する方式と各種パラメータを制定しています。例えば、ピクチャ品質パラメータ、スキャン方法パラメータ、色度表パラメータ、圧縮パラメータ、色深度など。ここに来て、画質のステップと方法を修正することが分かります。主にSystem.Drawing.Imaging.Encers設定です。そして、System.Drawingg.Imaging.Encoderによって作られたEnccoder Parameeter類は、Encocder ParameeterをEncer Coder Parameters配列に渡すことで、自分の意思にぴったりの画像を手に入れることができます。へへ,山のように言いましたが、コードは簡単です。
まず導入します。using System.Drawingg.Imaging。

/// <summary>
        /// ( Image.Save 75)
        /// </summary>
        /// <param name="sourceImage"> Image </param>
        /// <param name="savePath"> </param>
        /// <param name="imageQualityValue"> , 1 100 , , </param>
        /// <returns> , true; , false</returns>
        public bool SaveImageForSpecifiedQuality(System.Drawing.Image sourceImage, string savePath, int imageQualityValue)
        {
            // ,
            EncoderParameters encoderParameters = new EncoderParameters();
            EncoderParameter encoderParameter = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, imageQualityValue);
            encoderParameters.Param[0] = encoderParameter;
            try
            {
                ImageCodecInfo[] ImageCodecInfoArray = ImageCodecInfo.GetImageEncoders();
                ImageCodecInfo jpegImageCodecInfo = null;
                for (int i = 0; i < ImageCodecInfoArray.Length; i++)
                {
                    if (ImageCodecInfoArray[i].FormatDescription.Equals("JPEG"))
                    {
                        jpegImageCodecInfo = ImageCodecInfoArray[i];
                        break;
                    }
                }   
                sourceImage.Save(savePath, jpegImageCodecInfo, encoderParameters);              
                return true;
            }
            catch
            {
                return false;
            }
        }
呼び出し方法:

System.Drawing.Image image = System.Drawing.Image.FromFile("D:\\TestImage\\0.jpg");
SaveImageForSpecifiedQuality(image, "D:\\TestImage\\1.jpg", 100, ImageFormat.Jpeg);image.Dispose();