日期:2013-12-20  浏览次数:20618 次

这个程序经过修改 现在作计数器的话 只能做黑白的 计数器,谁有办法 能够做出 复杂的 图形计数器?

<% @Page Language="C#" %>

<% @Import Namespace="System.Drawing" %>

<% @Import Namespace="System.IO" %>

<% @Import Namespace="System.Drawing.Imaging" %>

<%

Response.Expires = 0;

Bitmap newBitmap = null;

Graphics g = null ;

string str2Render = Request.QueryString.Get("HitCount");

if (null == str2Render) str2Render = "12345";

string strFont = Request.QueryString.Get("HitFontName");

if (null == strFont) strFont = "楷体_GB2312";

int nFontSize = 12;

try

{

nFontSize = Request.QueryString.Get("HitFontSize").ToInt32();

}

catch

{

// do nothing, just ignore

}


string strBackgroundColorname = Request.QueryString.Get("HitBackgroundColor");

Color clrBackground = Color.White;

try

{

if (null != strBackgroundColorname)

clrBackground = ColorTranslator.FromHTML(strBackgroundColorname);

}

catch

{

}


string strFontColorName = Request.QueryString.Get("HitFontColor");

Color clrFont = Color.Black;

try

{

// Format in the URL: %23xxXXxx

if (null != strFontColorName)

clrFont = ColorTranslator.FromHTML(strFontColorName);

}

catch

{

}


try

{

Font fontCounter = new Font(strFont, nFontSize);

newBitmap = new Bitmap(1,1,PixelFormat.Format32bppARGB);

g = Graphics.FromImage(newBitmap);

SizeF stringSize = g.MeasureString(str2Render, fontCounter);

int nWidth = (int)stringSize.Width;

int nHeight = (int)stringSize.Height;

g.Dispose();

newBitmap.Dispose();

newBitmap = new Bitmap(nWidth,nHeight,PixelFormat.Format32bppARGB);

g = Graphics.FromImage(newBitmap);

g.FillRectangle(new SolidBrush(clrBackground), new Rectangle(0,0,nWidth,nHeight));

g.DrawString(str2Render, fontCounter, new SolidBrush(clrFont), 0, 0);

MemoryStream tempStream = new MemoryStream();

newBitmap.Save(tempStream,ImageFormat.GIF);

Response.ClearContent();

Response.ContentType = "image/GIF";

Response.BinaryWrite(tempStream.ToArray());

Response.End();

}

catch (Exception e)

{

Response.Write(e.ToString());

}

finally

{

if (null != g) g.Dispose();

if (null != newBitmap) newBitmap.Dispose();

}

%>