.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
用ASP.NET上传图片并生成可带版权信息的缩略图

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

<%@ Page Language="C#" ResponseEncoding="gb2312" %>
<%@ import Namespace="System" %>
<%@ import Namespace="System.IO" %>
<%@ import Namespace="System.Drawing" %>
<%@ import Namespace="System.Drawing.Imaging" %>
<script runat="server">

    void Page_Load(Object sender, EventArgs e)
    {
        if(!Page.IsPostBack)
        {
   ImgPreview.Visible=false;
        }
    }
    void GetThumbnailImage(int width,int height,string strInfo,int left,int right)
    {
        string file="Uploads/"+uploadFile.PostedFile.FileName.Substring(uploadFile.PostedFile.FileName.LastIndexOf('\\')+1);
  string newfile="Uploads/"+uploadFile.PostedFile.FileName.Substring(uploadFile.PostedFile.FileName.LastIndexOf('\\')+1)+".jpg";
        string strAdd=strInfo;
        System.Drawing.Image oldimage = System.Drawing.Image.FromFile(Server.MapPath(file));
        System.Drawing.Image thumbnailImage =
        oldimage.GetThumbnailImage(width, height,new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);
        Response.Clear();
        Bitmap output=new Bitmap(thumbnailImage);
        Graphics g=Graphics.FromImage(output);
        g.DrawString(strAdd,new Font("Courier New", 14),new SolidBrush(Color.Red),left,right);
  output.Save(Server.MapPath(newfile),System.Drawing.Imaging.ImageFormat.Jpeg);
                Response.ContentType = "image/gif";
  ImgPreview.Visible=true;
  ImgPreview.ImageUrl=newfile;
    }
    bool ThumbnailCallback()
    {
             return true;
    }
   
    void Button_Click(object sender, EventArgs e)
    {
        int width,height,left,right;
        string strAddInfo=txtAddInfo.Text;
        width=Int32.Parse(txtWidth.Text);
        height=Int32.Parse(txtHeight.Text);
        left=Int32.Parse(txtLeft.Text);
        right=Int32.Parse(txtRight.Text);
        if(!(uploadFile.PostedFile.ContentLength>0))
        {
            lblErrInfo.Text="没有选择文件";
        }
        else
        {
   
            string path = Server.MapPath("./Uploads/"+uploadFile.PostedFile.FileName.Substring(uploadFile.PostedFile.FileName.LastIndexOf('\\')+1));
            if(File.Exists(path))
            {
                lblErrInfo.Text="已经有同名文件";
            }
            else
            {
                uploadFile.PostedFile.SaveAs(path);
    GetThumbnailImage(width,height,strAddInfo,left,right);
            }  
        }   
    }
</script>
<html>
<head>
</head>
<body>
    <form method="post" enctype="multipart/form-data" runat="server">
        <p>
            <input id="uploadFile" type="file" runat="server" />
            <asp:Label id="lblErrInfo" runat="server" forecolor="Red"></asp:Label>
        </p>
        <p>
            width:<asp:TextBox id="txtWidth" runat="server" Width="40px">100</asp:TextBox>
            &nbsp;height:<asp:TextBox id="txtHeight" runat="server" Width="40px">150</asp:TextBox>
            &nbsp;
        </p>
        <p>
            添加信息:<asp:TextBox id="txtAddInfo" runat="server"> AspxBoy.Com</asp:TextBox>
        </p>
        <p>
            信息位置:left:<asp:TextBox id="txtLeft" runat="server" Width="40px">10</asp:TextBox>
            &nbsp;right:<asp:TextBox id="txtRight" runat="server" Width="40px">135</asp:TextBox>
        </p>
        <p>
            &nbsp;
            <input id="button" type="button" value="上传生成所略图" onServerClick="Button_Click" runat="server" />
        </p>
  <p><asp:Image id="ImgPreview" runat="server"></asp:Image>
  </p>
        <!-- Insert content here -->
    </form>
</body>
</html>

http://www.aspxboy.com/ShowArticle.Aspx?ID=218




相关文章

相关软件