zoukankan      html  css  js  c++  java
  • ASP.NET 图片压缩,等比压缩图片

    ASP.NET 图片压缩,等比压缩图片: 

    public class shrink
        {
            /// <summary>
            /// 矩形框内部图片原比例压缩
            /// </summary>
            /// <param name="AbsoluteFileName">原路径</param>
            /// <param name="SaveServer">新存放路径</param>
            /// <param name="H">对应矩形高度</param>
            /// <param name="W">对应矩形宽度</param>
            /// <returns></returns>
            public string PicShrink(string AbsoluteFileName, string SaveServer,int H,int W)
            {
               
                using (Image img = Image.FromFile(AbsoluteFileName))
                {
                    int OriginalHeight = img.Height; //原图高度
                    int OriginalWeight = img.Width; //原图宽度
                    int NewHeight = OriginalHeight;
                    int NewWeight = OriginalWeight;
                    double p = 0;//缩放比例
                   
                    //高度压缩比例小或相等[宽和高都溢出]
                    if ((double)H / (double)OriginalHeight <= (double)W / (double)OriginalWeight)
                    {
                        NewHeight = H;
                        p = (double)H / (double)OriginalHeight;
                        NewWeight = (int)Math.Round(p * OriginalWeight);
                    }
                    //宽度压缩比例小[宽和高都溢出]
                    if ((double)H / (double)OriginalHeight > (double)W / (double)OriginalWeight)
                    {
                        NewWeight = W;
                        p = (double)W / (double)OriginalWeight;
                        NewHeight = (int)Math.Round(p * OriginalHeight);
                    }
                    using (Bitmap bm = new Bitmap(NewWeight, NewHeight))
                    {
                        Graphics grap = Graphics.FromImage(bm);
                        grap.Clear(Color.Transparent);  //指定图片背景色
                        Rectangle rt = new Rectangle(0, 0, NewWeight, NewHeight);
                        grap.DrawImage(img, rt);
                        string MathPath = System.Web.HttpContext.Current.Server.MapPath(SaveServer);
                        if (File.Exists(MathPath))
                        {
                            File.Delete(MathPath);
                        }
                        bm.Save(MathPath, ImageFormat.Jpeg);
                        bm.Dispose();
                        grap.Dispose();
                    }
                }
                return SaveServer;
            }
        }

    qq讨论群  :  171560784

  • 相关阅读:
    低耦合高内聚
    Python 爬虫库
    Python 爬虫的工具列表
    selenium对浏览器操作、鼠标操作等总结
    简单文件操作
    环境错误2
    环境错误
    pip list 警告消除方法
    python 安装scrapy错误
    按是否执行程序的角度划分:静态测试、动态测试
  • 原文地址:https://www.cnblogs.com/kezhiping/p/3048969.html
Copyright © 2011-2022 走看看