zoukankan      html  css  js  c++  java
  • 缩略图(转载)

    public void GreateMiniImage(string oldpath, string newpath, int tWidth, int tHeight)
            {
                try
                {
                    System.Drawing.Image image = System.Drawing.Image.FromFile(oldpath);
                    double bl = 1d;
                    if ((image.Width <= image.Height) && (tWidth >= tHeight))
                    {
                        bl = Convert.ToDouble(image.Height) / Convert.ToDouble(tHeight);
                    }
                    else if ((image.Width > image.Height) && (tWidth < tHeight))
                    {
                        bl = Convert.ToDouble(image.Width) / Convert.ToDouble(tWidth);
                    }
                    else if ((image.Width <= image.Height) && (tWidth <= tHeight))
                    {
                        if (image.Height / tHeight >= image.Width / tWidth)
                        {
                            bl = Convert.ToDouble(image.Width) / Convert.ToDouble(tWidth);
                        }
                        else
                        {
                            bl = Convert.ToDouble(image.Height) / Convert.ToDouble(tHeight);
                        }
                    }
                    else
                    {
                        if (image.Height / tHeight >= image.Width / tWidth)
                        {
                            bl = Convert.ToDouble(image.Height) / Convert.ToDouble(tHeight);
                        }
                        else
                        {
                            bl = Convert.ToDouble(image.Width) / Convert.ToDouble(tWidth);
                        }
                    }
                    Bitmap b = new Bitmap(image, Convert.ToInt32(image.Width / bl), Convert.ToInt32(image.Height / bl));
                    //保存本地
                    b.Save(newpath);
                    //输出客户端
                    System.IO.MemoryStream ms = new System.IO.MemoryStream();
                    b.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
                    Response.ClearContent();
                    Response.ContentType = "image/Gif";
                    Response.BinaryWrite(ms.ToArray());

                    b.Dispose();
                    image.Dispose();
                }
                catch
                {
                }
            }

    关于作者: 王昕(QQ:475660) 在广州工作生活30余年。十多年开发经验,在Java、即时通讯、NoSQL、BPM、大数据等领域较有经验。
    目前维护的开源产品:https://gitee.com/475660
  • 相关阅读:
    golang学习笔记 ---接口
    golang学习笔记 --类与方法
    golang学习笔记--面向对象编程
    golang学习笔记---错误处理
    golang学习笔记---defer[延迟函数]
    golang学习笔记--闭包
    golang学习笔记---函数
    SSD技术扫盲之:什么是NVMe? NVMe SSD有什么特点?
    云原生存储系列文章:云原生应用的基石
    发财树的养殖方法
  • 原文地址:https://www.cnblogs.com/starcrm/p/1316603.html
Copyright © 2011-2022 走看看