如:
页面:
https://i-blog.csdnimg.cn/blog_migrate/523b0827b357088631d6b2ba418af005.png?word=
其实原理很简单,得到来访者的IP/OS/Language/Browser,利用Image/Graphics类进行处理
代码如下:
1using
System;
2using System.Collections;
3using System.ComponentModel;
4using System.Data;
5using System.Drawing;
6using System.Web;
7using System.Web.SessionState;
8using System.Web.UI;
9using System.Web.UI.WebControls;
10using System.Web.UI.HtmlControls;
11using System.IO;
12namespace 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#region Web
85 override protected void OnInit(EventArgs e)
86 {
87 InitializeComponent();
88 base.OnInit(e);
89 }
90
91 private void InitializeComponent()
92 {
93 this.Load += new System.EventHandler(this.Page_Load);
94
95 }
96 #endregion
97 }
98}
2using System.Collections;
3using System.ComponentModel;
4using System.Data;
5using System.Drawing;
6using System.Web;
7using System.Web.SessionState;
8using System.Web.UI;
9using System.Web.UI.WebControls;
10using System.Web.UI.HtmlControls;
11using System.IO;
12namespace 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#region Web
85 override protected void OnInit(EventArgs e)
86 {
87 InitializeComponent();
88 base.OnInit(e);
89 }
90
91 private void InitializeComponent()
92 {
93 this.Load += new System.EventHandler(this.Page_Load);
94
95 }
96 #endregion
97 }
98}