您的位置:首页 > 编程语言 > ASP

Asp.net(C#)给图片加上水印效果

2006-11-01 22:14 573 查看
private void Btn_Upload_Click( object sender, System.EventArgs e )
{
if( UploadFile.PostedFile.FileName.Trim( )!="" )
{
//上传文件
string extension = Path.GetExtension( UploadFile.PostedFile.FileName ).ToUpper( );

string fileName = DateTime.Now.Year.ToString( ) + DateTime.Now.Month.ToString( ) + DateTime.Now.Day.ToString( ) + DateTime.Now.Hour.ToString( ) + DateTime.Now.Minute.ToString( ) + DateTime.Now.Second.ToString( );

string path = Server.MapPath( "." ) + "/UploadFile/" + fileName + extension;
UploadFile.PostedFile.SaveAs( path );
//加文字水?⒁?这里的代码和以下加图片水印的代码不能共存
System.Drawing.Image image = System.Drawing.Image.FromFile( path );
Graphics g = Graphics.FromImage( image );
g.DrawImage( image, 0, 0, image.Width, image.Height );
Font f = new Font( "Verdana", 32 );
Brush b = new SolidBrush( Color.White );

string addText = AddText.Value.Trim( );
g.DrawString( addText, f, b, 10, 10 );
g.Dispose( );
//加图片水印
System.Drawing.Image image = System.Drawing.Image.FromFile( path );
System.Drawing.Image copyImage = System.Drawing.Image.FromFile(Server.MapPath( "." ) + "/Alex.gif" );
Graphics g = Graphics.FromImage( image );
g.DrawImage( copyImage, new Rectangle( image.Width-copyImage.Width, image.Height-copyImage.Height, copyImage.Width, copyImage.Height ), 0, 0, copyImage.Width, copyImage.Height, GraphicsUnit.Pixel );
g.Dispose( );
//保存加水印过后的图片,删除原始图片
string newPath = Server.MapPath( "." ) + "/UploadFile/" + fileName + "_new" + extension;
image.Save( newPath );
image.Dispose( );
if( File.Exists( path ) )
{
File.Delete( path );
}
Response.Redirect( newPath );
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: