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 相关文章推荐
iframe的onreadystatechange事件在firefox下的使用
Apr 16 Javascript
Node.js中HTTP模块与事件模块详解
Nov 14 Javascript
jQuery源码解读之hasClass()方法分析
Feb 20 Javascript
javascript制作游戏开发碰撞检测的封装代码
Mar 31 Javascript
jQuery实现平滑滚动的标签分栏切换效果
Aug 28 Javascript
JS+CSS实现电子商务网站导航模板效果代码
Sep 10 Javascript
js图片轮播效果实现代码
Apr 18 Javascript
JS使用eval()动态创建变量的方法
Jun 03 Javascript
JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码
Mar 25 Javascript
详解react如何在组件中获取路由参数
Jun 15 Javascript
初学node.js中实现删除用户路由
May 27 Javascript
vue-cli中实现响应式布局的方法
Mar 02 Vue.js
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生成不重复随机数的方法汇总
2014/11/19 PHP
PHP几个实用自定义函数小结
2016/01/25 PHP
浅谈php://filter的妙用
2019/03/05 PHP
jQuery EasyUI API 中文文档 - DataGrid数据表格
2011/11/17 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
2013/07/02 Javascript
20行代码实现的一个CSS覆盖率测试脚本
2013/07/07 Javascript
php的文件上传入门教程(实例讲解)
2014/04/10 Javascript
javascript中select下拉框的用法总结
2016/01/07 Javascript
理解javascript中的with关键字
2016/02/15 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
jQuery使用$获取对象后检查该对象是否存在的实现方法
2016/09/04 Javascript
使用 Vue.js 仿百度搜索框的实例代码
2017/05/09 Javascript
JSON 数据格式详解
2017/09/13 Javascript
Nodejs中使用phantom将html转为pdf或图片格式的方法
2017/09/18 NodeJs
Angular5升级RxJS到5.5.3报错:EmptyError: no elements in sequence的解决方法
2018/04/09 Javascript
基于vue,vue-router, vuex及addRoutes进行权限控制问题
2018/05/02 Javascript
Vue封装的组件全局注册并引用
2019/07/24 Javascript
Vue 3.0双向绑定原理的实现方法
2019/10/23 Javascript
python利用小波分析进行特征提取的实例
2019/01/09 Python
对python numpy.array插入一行或一列的方法详解
2019/01/29 Python
Pycharm内置终端及远程SSH工具的使用教程图文详解
2020/03/19 Python
python argparse模块通过后台传递参数实例
2020/04/20 Python
Python调用ffmpeg开源视频处理库,批量处理视频
2020/11/16 Python
python中温度单位转换的实例方法
2020/12/27 Python
Python结合百度语音识别实现实时翻译软件的实现
2021/01/18 Python
GetYourGuide台湾:预订旅游活动、景点和旅游项目
2019/06/10 全球购物
文员个人求职自荐信
2013/09/21 职场文书
房地产还款计划书
2014/01/10 职场文书
终止劳动合同协议书
2014/04/14 职场文书
民事诉讼授权委托书范文
2014/08/02 职场文书
2014年企业党建工作总结
2014/12/18 职场文书
2015年农村党员公开承诺事项
2015/04/28 职场文书
2016年公共机构节能宣传周活动总结
2016/04/05 职场文书
Python Django模型详解
2021/10/05 Python
Python中的嵌套循环详情
2022/03/23 Python
Android 界面一键变灰 深色主题工具类
2022/04/28 Java/Android