博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

.net制作渐变的文字水印

Posted on 2013-07-03 17:34  野火烧不尽  阅读(117)  评论(0)    收藏  举报
protected void btn_generate_Click(object sender, EventArgs e)
{
System.Drawing.Image image = System.Drawing.Image.FromFile(MapPath("1.jpg"));
Bitmap bitmap = new Bitmap(image, image.Width, image.Height);
Graphics g = Graphics.FromImage(bitmap);

float FontSize = 40.0f; //字体大小
Font Var_Font = new Font("华文琥珀", FontSize);//设置字体样式
string Var_Str = "大熊";//设置字符串

SizeF Var_Size = g.MeasureString(Var_Str, Var_Font);//获取字符串的大小
float rectX = 100;
float rectY = 100;
PointF Var_Point = new PointF(rectX, rectY);
//指定显示位置
RectangleF Var_Rect = new RectangleF(Var_Point, Var_Size);

Color Var_Color_Up = Color.Red;//设置前景色
Color Var_Color_Down = Color.Yellow;//设置背景色
//以上两个颜色的渐变
LinearGradientBrush Var_LinearBrush = new LinearGradientBrush(Var_Rect, Var_Color_Up, Var_Color_Down, LinearGradientMode.Vertical);

g.DrawString(Var_Str, Var_Font, Var_LinearBrush, Var_Point);

MemoryStream ms = new MemoryStream();
//保存为Jpg类型
bitmap.Save(ms, ImageFormat.Jpeg);

//输出处理后的图像,这里为了演示方便,我将图片显示在页面中了
Response.Clear();
Response.ContentType = "image/jpeg";
Response.BinaryWrite(ms.ToArray());

g.Dispose();
bitmap.Dispose();
image.Dispose();

}