<body style="background-image:url(GetWatermark.ashx)">
<form id="form1" runat="server">
<div>
<img src="GetWatermark.ashx" />
<asp:Image ID="ff" runat="server" ImageUrl="~/GetWatermark.ashx" />
</div>
</form>
</body>
<asp:GridView ID="gv" runat="server" AutoGenerateColumns="False" BackImageUrl="~/GetWatermark.ashx" >
using System;
using System.Web;
using System.Drawing;
using System.Drawing.Design;
using System.Globalization;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Web.SessionState;
public class GetWatermark : IHttpHandler, IRequiresSessionState
{
/*
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
}
public bool IsReusable {
get {
return false;
}
}*/
public void ProcessRequest(HttpContext context)
{
const string DefaultFontName = @"細明體";
//int useWay = 0;
//如果傳進來的是2,就使用黑色,不然就用淡色
//int.TryParse(context.Request["way"] as string, out useWay);
//設定輸出為gif檔
context.Response.ContentType = "image/gif";
int fontSize = 30;
int bmpWidth = 500;
int bmpHeight = 400;
string watermarks = UserProfile.UserName + " " + UserProfile.UserID;
//string watermarks = "fuck your ..";
//建立Bitmap
Bitmap bmp = new Bitmap(bmpWidth, bmpHeight);
//設定使用者及時間,並將逗號改成換行符號
//string watermarks = string.Format(watermark, context.Session["User_Name"] as string,
//DateTime.Now.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture),
//DateTime.Now.ToString("HH:mm:ss")).Replace(",", Environment.NewLine);
//建立Graphics
Graphics canvas = Graphics.FromImage(bmp);
//設定透明的Brush
SolidBrush watermarkBrush;
//if (useWay == 2)
//{
//如果是用蓋到畫面上的方式,Color就直接用黑色
watermarkBrush = new SolidBrush(Color.Black);
//}
//else
//{
//如果是用底圖的話,Color就用淡一點
//watermarkBrush = new SolidBrush(Color.FromArgb(128, 221, 221, 255));
watermarkBrush = new SolidBrush(Color.LightGray);
//}
//設定底圖為白色
SolidBrush whiteBrush = new SolidBrush(Color.White);
//將底圖畫成白色
canvas.FillRectangle(whiteBrush, 0, 0, bmp.Width, bmp.Height);
//因為要由下往上畫,所以將原點設定成下方
canvas.TranslateTransform(50, bmpHeight - 200);
//設定浮水印的字型及大小
Font f = new Font(DefaultFontName, fontSize, FontStyle.Bold);
//設定旋轉的角度為330
canvas.RotateTransform(330);
//將浮水印畫上去
canvas.DrawString(watermarks, f, watermarkBrush, fontSize, 0, StringFormat.GenericTypographic);
//將圖檔輸出去
bmp.Save(context.Response.OutputStream, ImageFormat.Gif);
}
public bool IsReusable
{
get
{
return false;
}
}
}
<form id="form1" runat="server">
<div>
<img src="GetWatermark.ashx" />
<asp:Image ID="ff" runat="server" ImageUrl="~/GetWatermark.ashx" />
</div>
</form>
</body>
<asp:GridView ID="gv" runat="server" AutoGenerateColumns="False" BackImageUrl="~/GetWatermark.ashx" >
using System;
using System.Web;
using System.Drawing;
using System.Drawing.Design;
using System.Globalization;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Web.SessionState;
public class GetWatermark : IHttpHandler, IRequiresSessionState
{
/*
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
}
public bool IsReusable {
get {
return false;
}
}*/
public void ProcessRequest(HttpContext context)
{
const string DefaultFontName = @"細明體";
//int useWay = 0;
//如果傳進來的是2,就使用黑色,不然就用淡色
//int.TryParse(context.Request["way"] as string, out useWay);
//設定輸出為gif檔
context.Response.ContentType = "image/gif";
int fontSize = 30;
int bmpWidth = 500;
int bmpHeight = 400;
string watermarks = UserProfile.UserName + " " + UserProfile.UserID;
//string watermarks = "fuck your ..";
//建立Bitmap
Bitmap bmp = new Bitmap(bmpWidth, bmpHeight);
//設定使用者及時間,並將逗號改成換行符號
//string watermarks = string.Format(watermark, context.Session["User_Name"] as string,
//DateTime.Now.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture),
//DateTime.Now.ToString("HH:mm:ss")).Replace(",", Environment.NewLine);
//建立Graphics
Graphics canvas = Graphics.FromImage(bmp);
//設定透明的Brush
SolidBrush watermarkBrush;
//if (useWay == 2)
//{
//如果是用蓋到畫面上的方式,Color就直接用黑色
watermarkBrush = new SolidBrush(Color.Black);
//}
//else
//{
//如果是用底圖的話,Color就用淡一點
//watermarkBrush = new SolidBrush(Color.FromArgb(128, 221, 221, 255));
watermarkBrush = new SolidBrush(Color.LightGray);
//}
//設定底圖為白色
SolidBrush whiteBrush = new SolidBrush(Color.White);
//將底圖畫成白色
canvas.FillRectangle(whiteBrush, 0, 0, bmp.Width, bmp.Height);
//因為要由下往上畫,所以將原點設定成下方
canvas.TranslateTransform(50, bmpHeight - 200);
//設定浮水印的字型及大小
Font f = new Font(DefaultFontName, fontSize, FontStyle.Bold);
//設定旋轉的角度為330
canvas.RotateTransform(330);
//將浮水印畫上去
canvas.DrawString(watermarks, f, watermarkBrush, fontSize, 0, StringFormat.GenericTypographic);
//將圖檔輸出去
bmp.Save(context.Response.OutputStream, ImageFormat.Gif);
}
public bool IsReusable
{
get
{
return false;
}
}
}