我们在网站上有些时候需要给图片加上带版权的水印,.net的Graphics类可以很轻松的实现这一点。 效果图:(图片最上端的那行字便是我们加上的版权水印了) 实现代码: /**/ /// <summary> /// 生成带版权水印的图片 /// </summary> /// <param name="IconImg">要生成水印图片的文件地址</param> private void MakeWaterMark( string IconImg) { //定义输出位图 Bitmap bmp = new Bitmap(640, 480); //定义绘图对象 Graphics g = Graphics.FromImage(bmp); //描述绘图矩形区域 Rectangle newRect = new Rectangle(0, 0, 640, 480); //设置背景色 g.FillRectangle(new SolidBrush(Color.White), newRect); //获取要生成水印的图片 Bitmap newBitmap = new Bitmap(IconImg); g.DrawImage(newBitmap, 16, 16); //定义水印字的字体 Font font = new Font( "Arial", 12, FontStyle.Bold ); //定义水印字的格式刷 LinearGradientBrush brush = new LinearGradientBrush( new Rectangle(0, 0, 71, 23), Color.Red, Color.Blue, 30f, true ); //给照片打上水印 g.DrawString("copyright by test. " + System.DateTime.Now.ToShortDateString(), font, brush, 0, 0); //保存为新的输出图片 System.IO.MemoryStream ms = new System.IO.MemoryStream(); bmp.Save(ms, ImageFormat.Jpeg); //输出图片 Response.ClearContent(); Response.ContentType = "image/jpeg"; Response.BinaryWrite(ms.ToArray()); }