Back

如何在上传的图片上打自己的文字水印

如何在上传的图片上打自己的文字水印



作者:佚名

很多时候需要在用户上传的图片上加上版权或者一些其他的附加文字信息,如何实现这样的功能,下面帖个简单实现的例子,起到抛砖引玉的作用。



<%@PageLanguage="c#"Debug="true"Trace="true"%>

<%@ImportNamespace="System.IO"%>

<%@ImportNamespace="System.Drawing"%>

<%@ImportNamespace="System.Drawing.Imaging"%>







voidUploadBtn_Click(Objectsender,EventArgse){

Stringfilename;

Stringfilename1;

String[]filename2;

intq;

filename=UploadFile.PostedFile.FileName;

filename2=filename.Split(newChar[]{'\\'});

q=filename2.GetUpperBound(0);

filename1=filename2[q];

dis.Text="上传文件名:"+filename1+"
";

UploadFile.PostedFile.SaveAs(Server.MapPath(filename1));

ImageEditor.Visible=true;

dis.Text+="文件大小:"+UploadFile.PostedFile.ContentLength+"字节数";

Image1.Src=filename1;

}



voidUpdateBtn_Click(Objectsender,EventArgse){

Stringfilename1;

filename1=Image1.Src;

System.Drawing.Imageimage=System.Drawing.Image.FromFile(Server.MapPath(filename1));

System.Drawing.Imagenewimage=newBitmap(image.Width,image.Height,PixelFormat.Format32bppRGB);

Graphicsg=Graphics.FromImage(newimage);

g.DrawImage(image,0,0,image.Width,image.Height);

Fontf=newFont(FontType.SelectedItem.Text,Int32.Parse(FontSize.SelectedItem.Text));

Brushb=newSolidBrush(Color.Red);

g.DrawString(Caption.Text,f,b,10,140);

g.Dispose();

System.Drawing.ImagethumbImage=newimage.GetThumbnailImage(Int32.Parse(Width.Text),Int32.Parse

(Height.Text),null,0);

image.Dispose();

thumbImage.Save(Server.MapPath(filename1),ImageFormat.JPEG);

Image1.Src=filename1;

Caption.Text="";

}











选择上传文件:










图像宽度:

图像高度:


文本标题:

标题字号:

14

18

26

36

48

62



标题字体:

黑体

仿宋

隶书

楷书

彩云

新魏