zoukankan      html  css  js  c++  java
  • 等比例缩放图片代码

    像发布产品,添加新闻等模块实现图片上传的功能是非常普遍的,但是往往会涉及到缩略图和实际图片两种,如果在上传图片的时候就生成缩略图就会产生上传一张图片出现缩略图和实际尺寸图两张图片的情况,占用空间不说,还是比较费事的。济南网站建设

    刚刚在同事那里取得一个比较好的解决方案,就是在图片上传的时候只保存一张实际尺寸的图,在前台页面取的时候,如果需要实现缩略图,就把上传的实际尺寸图片等比例缩放一下,就可以轻松的搞定,下面附上等比例缩放的代码。

    public string getpic(string url, int w, int h)
        {
            if (url == "")
            {
                return "无图片";
            }
            else
            {
                try
                {
                    System.Drawing.Image image = System.Drawing.Image.FromFile(Server.MapPath(url));
                    int width = image.Width;
                    int height = image.Height;
                    if (width > w || height > h)
                    {
                        if ((double)width / (double)w > (double)height / (double)h)
                        {
                            height = Convert.ToInt32(height * ((double)w / (double)width));
                            width = w;
                        }
                        else
                        {
                            width = Convert.ToInt32(width * ((double)h / (double)height));
                            height = h;
                        }
                    }
                    return "<img src=\"" + url + "\" border=0 width=\"" + w + "\" height=\"" + h + "\" />";
                }
                catch
                {
                    return "无图片";
                }
            }
    

    OK,有了上面这个等比例缩放的方法,就可以把从数据库里取出的图片路径以及要缩放到的宽和高传进去就完事了。

     注:此方法会出现另外一种不理想的状况,如果我们上传两张图片,一张尺寸为:120*80,一张尺寸为60*120,那么通过等比例缩放出来的图片会出现高或者宽压缩的情况。所以在上传的时候,尽量提示上传者上传标准尺寸的图片,比如 150*150。

  • 相关阅读:
    node.js 安装后怎么打开 node.js 命令框
    thinkPHP5 where多条件查询
    网站title中的图标
    第一次写博客
    Solution to copy paste not working in Remote Desktop
    The operation could not be completed. (Microsoft.Dynamics.BusinessConnectorNet)
    The package failed to load due to error 0xC0011008
    VS2013常用快捷键
    微软Dynamics AX的三层架构
    怎样在TFS(Team Foundation Server)中链接团队项目
  • 原文地址:https://www.cnblogs.com/jkyweb/p/1837029.html
Copyright © 2011-2022 走看看