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

/// <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.recordinfo.net";
        //生成的缩略图的名字=年月日+文件大小(防止文件名相同)
        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();
            }
        }

    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
逐个模块给出以下说明: 一个用户只能在同一时间登陆一次,需要经过电脑ip验证,用户名和密码验证,全部通过才可以进入首页。 用户登录:首先进入首页,显示该用户今天上传的图片。 1.查看图片:显示该用 户上传的所有图片,显示内容:图像描述,图像大小,是否验证,上传时间,查看,删除 2.上传图片:用户可以上传图片,在上传时有预览的功能,如果数据库中已存在上传过的照片,则提醒用户已上传,否则进入等待验证页面,等待后台验证,若验证成功则显示上传的图像,如果失败则提醒用户是否继续等待验证 3.修改口令:用户可以修改自己的密码 4.退出系统:用户退出当前系统,注销 5.团队简介和客户服务主要是显示团队介绍和联系方式 管理员登陆:进入首页,显示今天上传的所有图片,显示内容:编号,id,图像描述,图像大小,是否验证,上传用户,ip,上传时间,查看,删除 1.查看用户:显示用户名,密码,增加时间,上传几张图片,删除 2.增加用户:包括用户名,密码 3.查找用户:根据输入的用户名进行模糊查询,显示内容:用户名,密码,添加时间,上传几张图片,删除 4.查看所有图片:显示编号,id,图像描述,图像大小,是否验证,上传用户,ip,上传时间,查看,操作,其中id,图像描述,图像大小,是否验证,上传用户,ip,上传时间字段具有排序功能 5.查找图片:可以根据用户名和上传日期进行查询 6.查看节点:显示IP地址,删除 7.增加节点:输入客户端的ip地址进行添加 8.退出系统:进行注销 9.团队简介和客户服务:主要是显示团队介绍和联系方式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值