保存指定品质的图片

保存指定品质的图片

        /// <summary>
        /// 保存图片
        /// </summary>
        /// <param name="srcImage">要保存的图片</param>
        /// <param name="quality">品质(1L~100L之间,数值越大品质越好)</param>
        /// <param name="filename">保存路径</param>
        public static void SaveImage(Image srcImage, long quality, string filename)
        {
            using (EncoderParameters encoderParams = new EncoderParameters(1))
            {
                encoderParams.Param[0] = new EncoderParameter(Encoder.Quality, quality);
                ImageCodecInfo encoder = null;
                string ext = Path.GetExtension(filename);
                if (string.IsNullOrEmpty(ext))
                {
                    ext = ".jpg";
                }
                //根据扩展名得到解码、编码器
                foreach (ImageCodecInfo codecInfo in ImageCodecInfo.GetImageEncoders())
                {
                    if (Regex.IsMatch(codecInfo.FilenameExtension, string.Format(@"(;|^)\*\{0}(;|$)", ext), RegexOptions.IgnoreCase))
                    {
                        encoder = codecInfo;
                        break;
                    }
                }
                Directory.CreateDirectory(Path.GetDirectoryName(filename));
                srcImage.Save(filename, encoder, encoderParams);
            }
        }

posted on 2012-10-12 16:45 RockyLOMO 阅读(...) 评论(...) 编辑 收藏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值