Web前端開(kāi)發(fā)之水印、圖片驗(yàn)證碼
一、水印
1.畫(huà)布
System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload1.FileContent);
2.創(chuàng)建繪制對(duì)象,告訴它往哪張圖片上繪制
Graphics g = Graphics.FromImage(img);
3.繪制的內(nèi)容
string s = www.itnba.com;
4.繪制的字體
Font f = new Font("黑體",130);
5.繪制的畫(huà)刷
Brush b = new SolidBrush(Color.Red);
6.開(kāi)始繪制
g.DrawString(s, f, b, 5, 5);
二、圖片驗(yàn)證碼
Bitmap bit = new Bitmap(90, 40);//畫(huà)布大小
Graphics g = Graphics.FromImage(bit);//創(chuàng)建繪制對(duì)象,告訴它往哪張圖片上繪制
Random r = new Random();
string s = "";
Color color1 = Color.FromArgb(r.Next(155, 255), r.Next(155, 255), r.Next(155, 255));
g.FillRectangle(new SolidBrush(color1), 0, 0, 90, 40);//畫(huà)布顏色隨機(jī)
for (int i = 0; i < 10; i++)//隨機(jī)畫(huà)干擾線(xiàn)
{
Color color3 = Color.FromArgb(r.Next(170, 255), r.Next(190, 255), r.Next(170, 255));
Pen pp = new Pen(new SolidBrush(color3), r.Next(0, 5));
g.DrawLine(pp, r.Next(0, 90), r.Next(0, 40), r.Next(0, 90), r.Next(0, 40));
}
string yan = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";//設(shè)置隨機(jī)的驗(yàn)證碼,從里面抽取
int wei = 0;
for (int i = 0; i < 4; i++)//取四位驗(yàn)證碼,顏色隨機(jī)
{
string m = yan.Substring(r.Next(0, yan.Length), 1);
s += m;
Color color2 = Color.FromArgb(r.Next(0, 155), r.Next(0, 155), r.Next(0, 155));
int w = r.Next(20, 25);
Font f = new Font("黑體", w);
SolidBrush b = new SolidBrush(color2);
g.DrawString(m, f, b, wei, r.Next(0, 10));
wei += w;
}
Session["YZM"] = s;//把驗(yàn)證碼保存到session中
for (int i = 0; i < 251; i++)
{
Color color3 = Color.FromArgb(r.Next(0, 255), r.Next(0, 255), r.Next(0, 255));
Pen pp = new Pen(new SolidBrush(color3), r.Next(0, 5));
int a = r.Next(0, 90);
int b = r.Next(0, 40);
g.DrawLine(pp, a, b, (a + 1), (b + 1));
}
bit.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
Response.End();
驗(yàn)證碼:
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<asp:Image ID="Image1" runat="server" ImageUrl="Default2.aspx" />//這里圖片路徑不是一張圖片的話(huà)會(huì)默認(rèn)打開(kāi)
以上所述是小編給大家分享的Web前端開(kāi)發(fā)之水印、圖片驗(yàn)證碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的,在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
2012世界末日倒計(jì)時(shí)代碼 原來(lái)沒(méi)事虛驚一場(chǎng)
這款時(shí)世界末日倒計(jì)時(shí)源代碼,程序上有JS控制器,是用于網(wǎng)頁(yè)中顯示的倒計(jì)時(shí)器,自己可以設(shè)定世界末日的開(kāi)始時(shí)間,網(wǎng)頁(yè)倒計(jì)時(shí)世界末日源代碼直接復(fù)制就可以用2012-12-12
詳解微信小程序開(kāi)發(fā)(項(xiàng)目從零開(kāi)始)
這篇文章主要介紹了詳解微信小程序開(kāi)發(fā)(項(xiàng)目從零開(kāi)始),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-06-06
JS中字符問(wèn)題(二進(jìn)制/十進(jìn)制/十六進(jìn)制及ASCII碼之間的轉(zhuǎn)換)
對(duì)于js的進(jìn)制轉(zhuǎn)換的一些方法分析2008-11-11
JavaScript判斷數(shù)組是否存在key的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇JavaScript判斷數(shù)組是否存在key的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08
JS利用cookies設(shè)置每隔24小時(shí)彈出框
這篇文章主要介紹了利用cookies設(shè)置每隔24小時(shí)彈出框的實(shí)例代碼,需要的朋友可以參考下2017-04-04
js添加table的行和列 具體實(shí)現(xiàn)方法
這篇文章介紹了js添加table的行和列 具體實(shí)現(xiàn)方法,有需要的朋友可以參考一下2013-07-07

