大家都知道我们如果想把网页上的文字做出比较炫的效果,便只能用POTOSHOP、FIREWORK等图像处理软件把文字做成图片来实现,因为这样才不会依赖浏览者的字体、浏览器类型等。可是在我们的WEB应用中又往往是动态的文字,我们便不能用图像处理软件来处理了,只能让WEB程序动态生成,幸运地是.Net Framework给我们提供了便利,下面我们就利用System.Drawing命名空间下的Bitmap类与Graphics类来编写一个生成文字图片的类,使用该类生成图片时能满足以下需求: 1、可以指定文字字体、大小和颜色(注:指定的文字在WEB服务器上需要有该字库); 2、可以加文字阴影; 3、可以指定文字的透明度; 4、可以指定背景图片或背景颜色; 5、可以指定生成的图片大小(宽度与高度); 6、可以指定文字的位置(左边距和上边距); 7、当用户设定的文字字号太大,能自动调整文字大小使之能适应生成图片的大小。
该类实现代码如下:
1using System.Drawing; 2using System.Drawing.Drawing2D; 3using System.Drawing.Imaging; 4 5namespace Ycweb.Controls.Utility 6{ 7 /**//// <summary> 8 /// WaterMark 9 /// </summary> 10 public class Watermark 11 { 12 private int _width; 13 private int _height; 14 private string _fontFamily; 15 private int _fontSize; 16 private bool _adaptable; 17 private FontStyle _fontStyle; 18 private bool _shadow; 19 private string _backgroundImage; 20 private Color _bgColor; 21 private int _left; 22 private string _resultImage; 23 private string _text; 24 private int _top; 25 private int _alpha; 26 private int _red; 27 private int _green; 28 private int _blue; 29 private long _quality; 30 31 32 33 public Watermark() 34 { 35 //
上一篇:体验ASP.NET 2.0 中的异步页功能
下一篇:关于C#和C++的重载(Overload)、隐藏(Hide)、覆盖(Override)几个区别比较和得出的疑问
|