如:
页面:
http://www.lemongtree.com/ip.aspx?word=
其实原理很简单,得到来访者的IP/OS/Language/Browser,利用Image/Graphics类进行处理
代码如下:
1
using System;
2
using System.Collections;
3
using System.ComponentModel;
4
using System.Data;
5
using System.Drawing;
6
using System.Web;
7
using System.Web.SessionState;
8
using System.Web.UI;
9
using System.Web.UI.WebControls;
10
using System.Web.UI.HtmlControls;
11
using System.IO;
12
namespace WebApplication4
13
{
14
public class ip : System.Web.UI.Page
15
{
16
17
private void Page_Load(object sender, System.EventArgs e)
18
{
19
string str = System.Web.HttpContext.Current.Request.QueryString["word"];
20
bool cusWord=false;
21
22
//如果没有自定义文字则不显示,否则只显示前30位
23
if((str==null)||(str.Trim().Length==0))
24
{
25
str = "";
26
}
27
else
28
{
29
if(str.Length>30)
30
{
31
str = str.Substring(0,30)+"
";
32
}
33
string badword =System.Configuration.ConfigurationSettings.AppSettings["badwords"];
34
35
//过滤不健康词语
36
for(int i=0;i<badword.Split('|').Length;i++)
37
{
38
str = str.Replace(badword.Split('|')[i],"[脏话,已被过滤]");
39
}
40
cusWord=true;
41
}
42
//获取来访者的相关信息
43
string IP = "Your IP:"+Request.UserHostAddress;
44
string Language = "Language:" + Request.UserLanguages[0];
45
string OS = "Your Os:" +Request.Browser.Platform;
46
string Browser = "Browser:" + Request.Browser.Browser + " " + Request.Browser.Version;
47
48
//初始化一个Image对象
49
System.Drawing.Image copyImage = System.Drawing.Image.FromFile(Server.MapPath("ip.jpg"));
50
Graphics g = Graphics.FromImage(copyImage);
51
g.DrawImage(copyImage, 0, 0, copyImage.Width, copyImage.Height);
52
Font f = new Font("courier new",8,System.Drawing.FontStyle.Bold);
53
Font f1 = new Font("宋体",9,System.Drawing.FontStyle.Underline);
54
Brush b1 = new SolidBrush(Color.Blue);
55
Brush b2 = new SolidBrush(Color.Red);
56
Brush b3 = new SolidBrush(Color.Green);
57
Brush b4 = new SolidBrush(Color.Black);
58
if(cusWord)
59
{
60
g.DrawString(str, f1, b4, 80, 5);
61
g.DrawString(IP, f, b1, 80, 18);
62
g.DrawString(OS, f, b2, 80, 30);
63
g.DrawString(Language, f, b2, 80, 42);
64
g.DrawString(Browser, f, b3, 80, 54);
65
}
66
else
67
{
68
g.DrawString(IP, f, b1, 80, 10);
69
g.DrawString(OS, f, b2, 80, 25);
70
g.DrawString(Language, f, b2, 80, 40);
71
g.DrawString(Browser, f, b3, 80, 55);
72
}
73
g.Dispose();
74
75
System.IO.MemoryStream ms = new System.IO.MemoryStream();
76
copyImage.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg);
77
Response.ClearContent();
78
Response.ContentType = "image/Jpeg";
79
Response.BinaryWrite(ms.ToArray());
80
81
82
}
83
84
Web
97
}
98
}
using System;2
using System.Collections;3
using System.ComponentModel;4
using System.Data;5
using System.Drawing;6
using System.Web;7
using System.Web.SessionState;8
using System.Web.UI;9
using System.Web.UI.WebControls;10
using System.Web.UI.HtmlControls;11
using System.IO;12
namespace WebApplication413
{14
public class ip : System.Web.UI.Page15
{16
17
private void Page_Load(object sender, System.EventArgs e)18
{19
string str = System.Web.HttpContext.Current.Request.QueryString["word"];20
bool cusWord=false;21

22
//如果没有自定义文字则不显示,否则只显示前30位23
if((str==null)||(str.Trim().Length==0))24
{25
str = "";26
}27
else28
{29
if(str.Length>30)30
{31
str = str.Substring(0,30)+"
";32
}33
string badword =System.Configuration.ConfigurationSettings.AppSettings["badwords"];34

35
//过滤不健康词语36
for(int i=0;i<badword.Split('|').Length;i++)37
{38
str = str.Replace(badword.Split('|')[i],"[脏话,已被过滤]");39
}40
cusWord=true;41
}42
//获取来访者的相关信息43
string IP = "Your IP:"+Request.UserHostAddress;44
string Language = "Language:" + Request.UserLanguages[0];45
string OS = "Your Os:" +Request.Browser.Platform;46
string Browser = "Browser:" + Request.Browser.Browser + " " + Request.Browser.Version;47
48
//初始化一个Image对象49
System.Drawing.Image copyImage = System.Drawing.Image.FromFile(Server.MapPath("ip.jpg"));50
Graphics g = Graphics.FromImage(copyImage);51
g.DrawImage(copyImage, 0, 0, copyImage.Width, copyImage.Height);52
Font f = new Font("courier new",8,System.Drawing.FontStyle.Bold);53
Font f1 = new Font("宋体",9,System.Drawing.FontStyle.Underline);54
Brush b1 = new SolidBrush(Color.Blue);55
Brush b2 = new SolidBrush(Color.Red);56
Brush b3 = new SolidBrush(Color.Green);57
Brush b4 = new SolidBrush(Color.Black);58
if(cusWord)59
{60
g.DrawString(str, f1, b4, 80, 5);61
g.DrawString(IP, f, b1, 80, 18);62
g.DrawString(OS, f, b2, 80, 30);63
g.DrawString(Language, f, b2, 80, 42);64
g.DrawString(Browser, f, b3, 80, 54);65
}66
else67
{68
g.DrawString(IP, f, b1, 80, 10);69
g.DrawString(OS, f, b2, 80, 25);70
g.DrawString(Language, f, b2, 80, 40);71
g.DrawString(Browser, f, b3, 80, 55);72
}73
g.Dispose();74

75
System.IO.MemoryStream ms = new System.IO.MemoryStream();76
copyImage.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg);77
Response.ClearContent();78
Response.ContentType = "image/Jpeg";79
Response.BinaryWrite(ms.ToArray());80

81

82
}83

84
Web97
}98
}

浙公网安备 33010602011771号