Web前端开发之水印、图片验证码


Posted in Javascript onNovember 27, 2016

一、水印

1.画布

System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload1.FileContent);

2.创建绘制对象,告诉它往哪张图片上绘制

Graphics g = Graphics.FromImage(img);

3.绘制的内容

string s = www.itnba.com;

4.绘制的字体

Font f = new Font("黑体",130);

5.绘制的画刷

Brush b = new SolidBrush(Color.Red);

6.开始绘制

g.DrawString(s, f, b, 5, 5);

二、图片验证码

Bitmap bit = new Bitmap(90, 40);//画布大小
    Graphics g = Graphics.FromImage(bit);//创建绘制对象,告诉它往哪张图片上绘制
    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);//画布颜色随机
    for (int i = 0; i < 10; i++)//随机画干扰线
    {
      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";//设置随机的验证码,从里面抽取
    int wei = 0;
    for (int i = 0; i < 4; i++)//取四位验证码,颜色随机
    {
      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;//把验证码保存到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();

验证码:

<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
    <asp:Image ID="Image1" runat="server" ImageUrl="Default2.aspx" />//这里图片路径不是一张图片的话会默认打开

以上所述是小编给大家分享的Web前端开发之水印、图片验证码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的,在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
轻轻松松学习JavaScript
Feb 25 Javascript
JavaScript 编写匿名函数的几种方法
Feb 21 Javascript
Jquery中Ajax 缓存带来的影响的解决方法
May 19 Javascript
jQuery级联操作绑定事件实例
Sep 02 Javascript
node.js中的buffer.toString方法使用说明
Dec 14 Javascript
JQuery球队选择实例
May 18 Javascript
轻松实现javascript数据双向绑定
Nov 11 Javascript
ES6扩展运算符用法实例分析
Oct 31 Javascript
jfinal与bootstrap的登出实战详解
Nov 27 Javascript
vue 做移动端微信公众号采坑经验记录
Apr 26 Javascript
微信小程序框架wepy之动态控制类名
Sep 14 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【圆形情况】
Dec 13 Javascript
jQuery时间日期三级联动(推荐)
Nov 27 #Javascript
Jquery 整理元素选取、常用方法一览表
Nov 26 #Javascript
jQuery插件扩展实例【添加回调函数】
Nov 26 #Javascript
JS扩展类,克隆对象与混合类实例分析
Nov 26 #Javascript
JS自定义混合Mixin函数示例
Nov 26 #Javascript
JS克隆,属性,数组,对象,函数实例分析
Nov 26 #Javascript
JS匿名函数类生成方式实例分析
Nov 26 #Javascript
You might like
PHP编程与应用
2006/10/09 PHP
让你同时上传 1000 个文件 (一)
2006/10/09 PHP
PHP多进程编程总结(推荐)
2016/07/18 PHP
js实现的网页颜色代码表全集
2007/07/17 Javascript
jquery乱码与contentType属性设置问题解决方案
2013/01/07 Javascript
jQuery+CSS实现菜单滑动伸展收缩(仿淘宝)
2013/03/22 Javascript
JSONP获取Twitter和Facebook文章数的具体步骤
2014/02/24 Javascript
javascript实现日期时间动态显示示例代码
2015/09/08 Javascript
jQuery实用技巧必备(下)
2015/11/03 Javascript
angular分页指令操作
2017/01/09 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
javascript判断回文数详解及实现代码
2017/02/03 Javascript
基于JavaScript定位当前的地理位置
2017/04/11 Javascript
详解如何在vue项目中使用lodop打印插件
2018/09/27 Javascript
Vue2.0+Vux搭建一个完整的移动webApp项目的示例
2019/03/19 Javascript
原生js代码能实现call和bind吗
2019/07/31 Javascript
微信小程序使用npm包的方法步骤
2019/08/13 Javascript
详解JavaScript之Array.reduce源码解读
2020/11/01 Javascript
[42:24]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第三场 11.27
2020/12/01 DOTA
Python类的基础入门知识
2008/11/24 Python
浅谈python中的getattr函数 hasattr函数
2016/06/14 Python
python 接口测试response返回数据对比的方法
2018/02/11 Python
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
2018/09/04 Python
从0开始的Python学习014面向对象编程(推荐)
2019/04/02 Python
利用Pytorch实现简单的线性回归算法
2020/01/15 Python
css3一款3D字体带阴影效果的实现步骤
2013/03/20 HTML / CSS
css3的图形3d翻转效果应用示例
2014/04/08 HTML / CSS
年终自我鉴定
2013/10/09 职场文书
应届生自荐信
2014/06/30 职场文书
大学竞选班干部演讲稿
2014/08/21 职场文书
开展党的群众路线教育实践活动情况汇报
2014/11/05 职场文书
故宫英文导游词
2015/01/31 职场文书
生产现场禁烟通知
2015/04/23 职场文书
MySQL三种方式实现递归查询
2022/04/18 MySQL
CSS子盒子水平和垂直居中的五种方法
2022/07/23 HTML / CSS
app场景下uniapp的扫码记录
2022/07/23 Java/Android