zoukankan      html  css  js  c++  java
  • 让图片不变形

    •  #region 让图片不变形         /// <summary>         /// 小图标等比例缩小         /// </summary>         /// <param name="_files"></param>         /// <returns></returns>         private ImageList GetImageFrom2(string[] _files)         {             ImageList list = new ImageList();

                  int picWidth;             int picHeight;             int _iconW = 60;             int _iconH = 80;             int _picTop;             int _picLeft;             Image.GetThumbnailImageAbort myCallback = new Image.GetThumbnailImageAbort(ThumbnailCallback);             Bitmap myBitmap = null;             Image _tempImage;             for (int i = 0; i < _files.Length; i++)             {

                      myBitmap = new Bitmap(_files[i]);                 CalateSize(myBitmap.Width, myBitmap.Height, _iconW, _iconH, out picWidth, out picHeight);                 Image myThumbnail = myBitmap.GetThumbnailImage(picWidth, picHeight, myCallback, IntPtr.Zero);

                      //第一步                 Bitmap bp = new Bitmap(_iconW, _iconH);                 //第二步                 Graphics g = Graphics.FromImage(bp);                 g.Clear(Color.White);                 g.DrawImage(myThumbnail, (_iconW - picWidth) / 2, (_iconH - picHeight) / 2);                 list.Images.Add(_files[i], (Image)bp);                 list.ImageSize = new Size(_iconW, _iconH);             }             return list;         }         public bool ThumbnailCallback()         {             return false;         }         /// <summary>         /// 获取小图标不变形的大小         /// </summary>         /// <param name="picW"></param>         /// <param name="picH"></param>         /// <param name="iconW"></param>         /// <param name="incoH"></param>         /// <param name="_w"></param>         /// <param name="_h"></param>         public void CalateSize(int picW, int picH, int iconW, int incoH, out int _w, out int _h)         {             int _a = picW;  // 2488             int _b = picH;  // 4288             int _c = iconW;  //60             int _d = incoH;  //80             if ((_a / _b) > (_c / _d))             {                 _w = iconW;  //40                 _h = (_b * iconW / _a);             }             else             {                 _h = incoH;                 _w = (_a * incoH / _b);             }         }

              #endregion  让图片不变形

  • 相关阅读:
    晓歌:全球金融危机十周年,下一场金融危机不可避免且更惨烈?
    要让孩字喜欢上错误,但不是喜欢出错
    RSA 加密原理
    《道德经》里的“道”和“德”到底是什么意思?
    利用大数据做好消费者运营,你该了解这些
    世界上最著名的操作系统是用什么语言编写的?
    一篇文章带你快速弄清楚什么是终端
    一篇文章看清楚 Linux 的职业发展方向
    微软:悬赏10万美金破解 Linux 系统
    2020年你最需要掌握的11种编程语言
  • 原文地址:https://www.cnblogs.com/szlixin/p/4949776.html
Copyright © 2011-2022 走看看