/// <summary>
    /// 生成缩略图
    /// </summary>
    /// <param name="fileName">原文件</param>
    /// <param name="width">宽度</param>
    /// <param name="height">高度</param>
    private void CreateThumbnailImage(string fileName, string smallPath, int width, int height)
    {
        //版权信息
        string strAdd = "www.wander.com";
        //生成的缩略图的名字=年月日+文件大小(防止文件名相同)
        string newFileName = smallPath;

System.Drawing.Image image, newImage;
        //载入原图像
        image = System.Drawing.Image.FromFile(Server.MapPath(fileName));
        //回调
        System.Drawing.Image.GetThumbnailImageAbort callb = new System.Drawing.Image.GetThumbnailImageAbort(callBack);
        //生成缩略图
        newImage = image.GetThumbnailImage(width, height, callb, new System.IntPtr());

AddInfo(newImage, strAdd, newFileName, 16);

image.Dispose();
        newImage.Dispose();

Image1.ImageUrl = newFileName;
    }

/// <summary>
    /// 添加版权信息
    /// </summary>
    /// <param name="image"></param>
    /// <param name="strAdd"></param>
    /// <param name="newFileName"></param>
    /// <param name="fontSize"></param>
    private void AddInfo(System.Drawing.Image image, string strAdd, string newFileName, int fontSize)
    {
        Response.Clear();
        Bitmap b = new Bitmap(image);
        Graphics g = Graphics.FromImage(b);
        g.DrawString(strAdd, new Font("宋体", fontSize), new SolidBrush(Color.Red), image.Width / 2 - 80, image.Height - 30);
        b.Save(Server.MapPath(newFileName), System.Drawing.Imaging.ImageFormat.Gif);
    }

private bool callBack()
    {
        return true;
    }

protected void Button1_Click(object sender, EventArgs e)
    {
        if (loadFile.PostedFile != null)
        {
            //判断是不是图像文件
            if (loadFile.PostedFile.ContentType.ToLower().IndexOf("image") < 0)
            {
                //文件类型错误
            }
            else
            {
                string ext = loadFile.PostedFile.FileName.Substring(loadFile.PostedFile.FileName.LastIndexOf("."));
                //生成新的原文件名 年月日+文件大小+扩展名
                string path = "Uploads\\" + System.DateTime.Now.Date.ToShortDateString() + loadFile.PostedFile.ContentLength.ToString() + ext;
                //加上版权信息的文件
                string newPath = "Uploads\\" + System.DateTime.Now.Date.ToShortDateString() + loadFile.PostedFile.ContentLength.ToString() + "new" + ext;
                //缩略图文件名
                string newFileName = "uploads\\" + System.DateTime.Now.Date.ToShortDateString() + loadFile.PostedFile.ContentLength.ToString() + "small.gif";
                //上传原图
                loadFile.PostedFile.SaveAs(Server.MapPath(path));
                //生成缩略图
                CreateThumbnailImage(path, newFileName, 200, 300);

//给原图加上版权信息
                System.Drawing.Image image = System.Drawing.Image.FromFile(Server.MapPath(path));
                AddInfo(image, "www.wander.com", newPath, 20);
                image.Dispose();
            }
        }

}

转载于:https://www.cnblogs.com/gengaixue/archive/2008/10/15/1311963.html

关于asp.net上传图片自动生成缩略图相关推荐

  1. asp.net上传图片自动生成缩略图功能代码

    if (FileUpload1.FileName.ToString() == "") { Label3.Text = "请选择图片!"; } else { Bo ...

  2. Asp.Net 上传图片并生成高清晰缩略图

    在asp.net中,上传图片功能或者是常用的,生成缩略图也是常用的.baidu或者google,c#的方法也是很多的,但是一用却发现缩略图不清晰啊,缩略图片太大之类的事情,下面是我在处理图片上的代码, ...

  3. 在ASP.NET中上传图片并生成缩略图

    在ASP.NET中上传图片并生成缩略图,可以参照下列代码: private void btnUploadPicture_Click(object sender, System.EventArgs e) ...

  4. WordPress彻底禁用上传媒体图片自动生成缩略图及多尺寸图片(亲测可用)

    WordPress默认上传图片的时候会自动生成缩略图及多尺寸的图片文件,大部分网站都用不到这些多余的图片,不仅仅占用空间,而且上传的时候还会消耗额外的性能. 下面仅需两段函数代码即可彻底禁用该功能. ...

  5. php图片生成缩略图_php实现根据url自动生成缩略图的方法

    本文实例讲述了php实现根据url自动生成缩略图的方法,是非常实用的功能.分享给大家供大家参考.具体方法如下: 原理:设置apache rewrite ,当图片不存在时,调用php创建图片. 例如: ...

  6. flask上传图片以及生成缩略图

    flask在开发微信公众号或者小程序时会涉及到手机端上传图片以及生成缩略图的需求(注意,一般涉及到图文都是把图片和文字分开储存到两张表中,用外键作为连接) 第一步, 将本地图片上传 1.前端模板: & ...

  7. php 直接显示缩略图,PHP自动生成缩略图函数的源码示例

    一个简单但功能比较完善的自动生成缩略图的函数,可以按需要对图片进行缩放.裁切.锁定宽或高.使用空白填充 以下为源码,比较简单,相信很容易看明白,记得打开 GD 库的支持哦: /** * 生成缩略图 * ...

  8. 使用FileUpload控件上传图片并自动生成缩略图、自动生成带文字和图片的水印图

    本文借助vs2005中自带的FileUpload控件实现图片文件的上传并生成缩略图. 实现过程:选择图片上传成功后,取得已经存在服务器的文件生成缩略图,并且判断是否是图片类型的文件,这个的判断可以在程 ...

  9. 用ASP.NET上传图片并生成带版权信息的缩略图

    作者:活靶子       出处:AspxBoy.Com <%@ Page Language="C#" ResponseEncoding="gb2312" ...

最新文章

  1. 样本不均衡常见解决方法
  2. 【LIBSVM中的 SVMcgForClass提示不存在的解决方法】
  3. java security 详解_Spring Security入门教程 通俗易懂 超详细 【内含案例】
  4. 动态ADF火车:以编程方式添加火车停靠站
  5. 南京林业大学转计算机专业好转吗,南京林业大学如何转专业
  6. Android 异常问题分析
  7. docker remote api未授权访问漏洞(端口:2375)
  8. Ubuntu12.04 搭建TFTP服务
  9. 实体经济是因为自己不努力才落后的吗?
  10. ArcGIS Portal 10.4 本地坐标系的web 3d地形展示制作说明
  11. 只需订阅“全部文章”专栏便可查看所有文章
  12. Windows XP Embedded下载
  13. WPS加载项深入开发代码ribbon解析
  14. 12 序列化器Serializer的使用
  15. python人脸比对算法_python实现人脸识别经典算法(一) 特征脸法
  16. 3.5 国际化与本地化
  17. 从 .NET 开发人员的角度理解 Excel 对象模型--------结合上一篇 vb code excel 单元格锁定...
  18. xgboost对应python版本下载(win10)
  19. 数据分析师对年龄有限制吗?现在转行还来得及吗?
  20. MySQL~表的设计练习(食堂管理系统、车辆违章系统、宿舍管理系统、考勤系统)

热门文章

  1. Exception in thread http-apr-8080-exec-
  2. float与double精度丢失问题
  3. 【NOIP2004】【Luogu1086】花生采摘(枚举,给定顺序的模拟)
  4. 【网络流24题】【LOJ6013】负载平衡(环形纸牌均分,最小费最大流)
  5. 电机编码器调零步骤_什么是无刷直流电机换向的最有效方法?
  6. oracle的.aud文件,Oracle 11g 在audit_file_dest目录下产生大量的aud文件
  7. oracle怎么使用包,oracle包(package)入门——应用实例
  8. python函数支持哪些参数类型_Python函数的几种参数类型
  9. 再也不用装双系统和虚拟机了!——吐血推荐令Windows与Liunx合二为一的WSL2
  10. [leetcode]5343. 多次求和构造目标数组