C# 按质量等级压缩图片(一)

以下分三个质量等级对图片进行了压缩,在效果图中可以看到明显的大小变化以及图片质量的变化

多的就不写了,代码比较简单,大家自行运行测试吧

实现功能:

压缩图片

开发环境:

开发工具: Visual Studio 2013

.NET Framework版本:4.5

实现代码:

 

 //选择图片路径
 private void btnOld_Click(object sender, EventArgs e)
 {
     OpenFileDialog ofd = new OpenFileDialog();
     ofd.Filter = "图片|*.jpg;*.jpeg;*.png";
     if (ofd.ShowDialog() == DialogResult.OK)
     {
         txtOld.Text = ofd.FileName;
     }
 }

 //选择保存路径
 private void btnNew_Click(object sender, EventArgs e)
 {
     FolderBrowserDialog fbd = new FolderBrowserDialog();
     fbd.ShowNewFolderButton = true;
     if (fbd.ShowDialog() == DialogResult.OK)
     {
         txtNew.Text = fbd.SelectedPath;
     }
 }

 //压缩
 private void btnCompress_Click(object sender, EventArgs e)
 {
     ImgCompress(10L);
     ImgCompress(50L);
     ImgCompress(70L);
     MessageBox.Show("成功");
 }

 //压缩方法
 private void ImgCompress(long level)
 {
     Image img = Image.FromFile(txtOld.Text);
     ImageFormat imgFormat = img.RawFormat;
     EncoderParameters encoderParams = new EncoderParameters();
     encoderParams.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, level);
     ImageCodecInfo codecInfo = GetEncoder(imgFormat);
     string savePath = txtNew.Text + "\\" + DateTime.Now.Ticks + "." + codecInfo.FormatDescription;
     img.Save(savePath, codecInfo, encoderParams);
     img.Dispose();
 }

 private ImageCodecInfo GetEncoder(ImageFormat format)
 {
     ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
     foreach (ImageCodecInfo codec in codecs)
     {
         if (codec.FormatID == format.Guid)
         {
             return codec;
         }
     }
     return null;
 }

实现效果:

由简入繁,拿来即用

更多精彩,请关注微信公众号:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值