System.Drawing.Imaging;

    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);
            } 
        } 
    }

 

 

 


    <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>
                height:
<asp:TextBox id="txtHeight" runat="server" Width="40px">150</asp:TextBox>
            
</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>
                right:
<asp:TextBox id="txtRight" runat="server" Width="40px">135</asp:TextBox>
            
</p>
            
<p>
                
<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>

相关文章: