上一篇讲到了用图片水印,现在来说一下文字水印,同样使用ImageYing对象来生成,这个对像在WQ.Web名称空间下,没有这个对象的请先下载wq.dll(更多关于wq.dll信息,请参见wq内裤)。我们先给一张图片加上文字水印:
System.Drawing.Font font = new System.Drawing.Font("Arial", 18); System.Drawing.Color fc = System.Drawing.Color.FromArgb(150, 255, 255, 255); WQ.Web.ImageYing img = new WQ.Web.ImageYing(Server.MapPath("~/upfile/image.jpg"));//创建水印对象 img.TextColor = fc;//水印文字颜色 img.Font = font;//水印文字字体样式和大小 img.TextLeft = 10;//水印文字x坐标 img.TextTop = 10;//水印文字y坐标 img.Text = "Windows 7";/水印文字内容 img.Save(Server.MapPath("mac.jpg"));//保存水印文字
如果你不想保存图片,而是要直接输出图片,可以这样:
Response.ClearContent(); Response.BinaryWrite(img.getImageStream().ToArray());
也可以,文字和图片,一起做水印,甚至将文字旋转:
Response.Clear(); Response.Cache.SetNoStore(); System.Drawing.Font font = new System.Drawing.Font("Arial", 14); WQ.Web.ImageYing img = new WQ.Web.ImageYing(Server.MapPath("~/upfile/image.jpg"));//水印对象 img.YingPath = MapPath("~/upfile/tags.png");//水印图片 img.TextColor = System.Drawing.Color.White; img.Font = font; img.TextLeft = -23; img.TextTop = 23; img.Text = "NO.1";//水印文字 img.RotateText = -45;//文字旋转角度 Response.ClearContent(); Response.BinaryWrite(img.getImageStream().ToArray());
操作很简单吧,如果你想象力够丰富,美工够好,可以做出更多的效果!