<%
@ 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 >
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 >
<% @ 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 >
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 >