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

asp.net|上传|上传图片|缩略图

前台:
<HTML>
    <HEAD>
        <title>WebForm3</title>
            </HEAD>
    <body>
        <form id="Form1" method="post" runat="server">
             <INPUT id="loadFile" type="file" runat="server">
            <asp:Button id="Button1" runat="server" Text="Button"></asp:Button><BR>
            <asp:Image id="Image1" runat="server"></asp:Image></form>
    </body>
</HTML>

后台CS代码:
 1/**//// <summary>
 2        /// 生成缩略图
 3        /// </summary>
 4        /// <param name="fileName">原文件</param>
 5        /// <param name="width">宽度</param>
 6        /// <param name="height">高度</param>
 7        private void CreateThumbnailImage( string fileName,string smallPath,int width,int height )
 8        {   
 9            //版权信息
10            string strAdd = "www.wander.com";
11            //生成的缩略图的名字=年月日+文件大小(防止文件名相同)
12            string newFileName = smallPath;
13
14            System.Drawing.Image image,newImage;
15            //载入原图像
16            image = System.Drawing.Image.FromFile( Server.MapPath( fileName ) );
17            //回调
18            System.Drawing.Image.GetThumbnailImageAbort callb = new System.Drawing.Image.GetThumbnailImageAbort( callBack );
19            //生成缩略图
20            newImage = image.GetThumbnailImage( width,height,callb,new System.IntPtr() );
21           
22            AddInfo( newImage,strAdd,newFileName,16 );
23           
24            image.Dispose();
25            newImage.Dispose();
26
27            Image1.ImageUrl = newFileName;
28        }
29
30        /**//// <summary>
31        /// 添加版权信息
32        /// </summary>
33        /// <param name="image"></param>
34        /// <param name="strAdd"></param>
35        /// <param name="newFileName"></param>
36        /// <param name="fontSize"></param>
37        private void AddInfo( System.Drawing.Image image,string strAdd,string newFileName,int fontSize )
38        {
39            Response.Clear();
40            Bitmap b = new Bitmap( image );
41            Graphics  g = Graphics.FromImage( b );
42            g.DrawString( strAdd,new Font( "宋体",fontSize ),new SolidBrush( Color.Red ),image.Width/2-80 ,image.Height-30 );
43            b.Save( Server.MapPath( newFileName ),System.Drawing.Imaging.ImageFormat.Gif );
44        }
45
46        private bool callBack()
47        {
48            return true;
49        }
50
51        private void Button1_Click(object sender, System.EventArgs e)
52        {
53            if( loadFile.PostedFile != null )
54            {
55                //判断是不是图像文件
56                if( loadFile.PostedFile.ContentType.ToLower().IndexOf( "image" ) < 0 )
57                {
58                    //文件类型错误
59                }
60                else
61                {   
62                    string ext = loadFile.PostedFile.FileName.Substring( loadFile.PostedFile.FileName.LastIndexOf( "." ) );
63                    //生成新的原文件名 年月日+文件大小+扩展名
64                    string path = "Uploads\\" + System.DateTime.Now.Date.ToShortDateString() + loadFile.PostedFile.ContentLength.ToString() + ext ;
65                    //加上版权信息的文件
66                    string newPath = "Uploads\\" + System.DateTime.Now.Date.ToShortDateString() + loadFile.PostedFile.ContentLength.ToString() + "new" + ext ;
67                    //缩略图文件名
68                    string newFileName = "uploads\\" + System.DateTime.Now.Date.ToShortDateString() + loadFile.PostedFile.ContentLength.ToString() + "small.gif";
69                    //上传原图
70                    loadFile.PostedFile.SaveAs( Server.MapPath( path ) );
71                    //生成缩略图
72                    CreateThumbnailImage( path,newFileName,200,300 );
73
74                    //给原图加上版权信息
75                    System.Drawing.Image image = System.Drawing.Image.FromFile( Server.MapPath( path ) );
76                    AddInfo( image,"www.wander.com",newPath,20 );
77                    image.Dispose();
78                }
79            }
80        }
其实把版权信息改成水印的也很简单,只需要修改AddInfo方法即可

时间: 2024-11-03 12:44:44

在ASP.NET中上传图片并生成带版权信息的缩略图的相关文章

在ASP.NET中上传图片并生成缩略图的C#源码

asp.net|上传|上传图片|缩略图 在ASP.NET中上传图片并生成缩略图的C#源码 using System;   using System.Collections;   using System.ComponentModel;   using System.Data;   using System.Drawing;   using System.Web;   using System.Web.SessionState;   using System.Web.UI;   using Sys

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

在ASP.NET中上传图片并生成缩略图,可以参照下列代码: private void btnUploadPicture_Click(object sender, System.EventArgs e){//检查上传文件的格式是否有效if(this.UploadFile.PostedFile.ContentType.ToLower().IndexOf("image") < 0){Response.Write("上传图片格式无效!");return;}//生成原图

代码实例:在ASP.NET中上传图片并生成缩略图

asp.net|上传|上传图片|缩略图 private void btnUploadPicture_Click(object sender, System.EventArgs e) {    //检查上传文件的格式是否有效    if(this.UploadFile.PostedFile.ContentType.ToLower().IndexOf("image") < 0)    {     Response.Write("上传图片格式无效!");     r

ASP.NET上传图片并生成可带版权信息的缩略图_实用技巧

复制代码 代码如下: <%@ Page Language="C#" ResponseEncoding="gb2312" %> <%@ import Namespace="System" %> <%@ import Namespace="System.IO" %> <%@ import Namespace="System.Drawing" %> <%@ i

求助,asp.net中上传图片

问题描述 求助,asp.net中上传图片 asp.net上传图片,点击浏览选择图片之后,想在img标签中直接预览图片,但是还未上传图片到服务器,各位大神,该如何实现呢?谢谢 解决方案 http://www.vipcn.com/wangluobiancheng/AspNet/312757.html 解决方案二: 在ASP.NET中上传图片并生成缩略图在ASP.NET中上传图片并生成缩略图在ASP.NET中上传图片并生成缩略图 解决方案三: javascript客户端图片预览

ASP.NET实现上传图片并生成缩略图的方法_实用技巧

本文实例讲述了ASP.NET实现上传图片并生成缩略图的方法.分享给大家供大家参考,具体如下: protected void bt_upload_Click(object sender, EventArgs e) { //检查上传文件的格式是否有效 if (this.UploadFile.PostedFile.ContentType.ToLower().IndexOf("image") < 0) { Response.Write("上传图片格式无效!"); re

在asp.net中利用其自带的登陆端,如何删除用户

问题描述 在asp.net中利用其自带的登陆端,如何删除用户 解决方案 解决方案二:希望高手们帮我一下!

asp.net 中调用cmd并查询IP信息

asp.net 中调用cmd并查询ip信息 private static string cmdping(string cmd)   {       process p = new process();       p.startinfo.filename = "cmd.exe";       p.startinfo.useshellexecute = false;       p.startinfo.redirectstandardinput = true;       p.start

如何在ASP.NET中获取随机生成的cookie加密与验证密钥

asp.net|cookie|加密|随机     本文是从ASP.NE T 1.1升级到ASP.NET 2.0需要考虑的Cookie问题的补充,通过示例代码说明如何通过反射在ASP.NET 1.1与ASP.NET 2.0中获取随机生成的cookie加密与验证密钥.ASP.NET 1.1示例代码:            object machineKeyConfig = HttpContext.Current.GetConfig("system.web/machineKey");