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 相关文章推荐
IE的有条件注释判定IE版本详解(附实例代码)
Jan 04 Javascript
from表单多个按钮提交用onclick跳转不同action
Apr 24 Javascript
HTML页面登录时的JS验证方法
May 28 Javascript
jQuery中before()方法用法实例
Dec 25 Javascript
JavaScript中的null和undefined区别介绍
Jan 01 Javascript
JQuery实现防止退格键返回的方法
Feb 12 Javascript
jquery+html5制作超酷的圆盘时钟表
Apr 14 Javascript
Vue2.0 vue-source jsonp 跨域请求
Aug 04 Javascript
JavaScript 中的 this 简单规则
Sep 19 Javascript
图文介绍Vue父组件向子组件传值
Feb 17 Javascript
webpack配置导致字体图标无法显示的解决方法
Mar 06 Javascript
微信小程序与后台PHP交互的方法实例分析
Dec 10 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 将excel导入mysql
2009/11/09 PHP
php与paypal整合方法
2010/11/28 PHP
php读取3389的脚本
2014/05/06 PHP
使用PHP实现阻止用户上传成人照片或者裸照
2014/12/25 PHP
php实现遍历目录并删除指定文件中指定内容
2015/01/21 PHP
PHP实现动态柱状图改进版
2015/03/30 PHP
layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例
2018/05/12 PHP
PHP连接sftp并下载文件的方法教程
2018/08/26 PHP
判断页面是关闭还是刷新的js代码
2007/01/28 Javascript
google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
2011/04/24 Javascript
Javascript中封装window.open解决不兼容问题
2014/09/28 Javascript
JS使用ajax方法获取指定url的head信息中指定字段值的方法
2015/03/24 Javascript
简单的jQuery banner图片轮播实例代码
2016/03/04 Javascript
AngularJS实践之使用NgModelController进行数据绑定
2016/10/08 Javascript
JS遍历对象属性的方法示例
2017/01/10 Javascript
微信、QQ、微博、Safari中使用js唤起App
2018/01/24 Javascript
微信小程序自定义可滑动日历界面
2018/12/28 Javascript
vue+moment实现倒计时效果
2019/08/26 Javascript
JS函数基本定义与用法示例
2020/01/15 Javascript
Python入门篇之字符串
2014/10/17 Python
Python实现统计代码行的方法分析
2017/07/12 Python
基于DataFrame改变列类型的方法
2018/07/25 Python
python实现三次样条插值
2018/12/17 Python
Python搭建代理IP池实现接口设置与整体调度
2019/10/27 Python
python不同版本的_new_不同点总结
2020/12/09 Python
HTML5探秘:用requestAnimationFrame优化Web动画
2018/06/03 HTML / CSS
Unix控制后台进程都有哪些进程
2016/09/22 面试题
英语师范专业毕业生自荐信
2013/09/21 职场文书
投标保密承诺书
2014/05/19 职场文书
导师就业推荐信范文
2014/05/22 职场文书
专题组织生活会方案
2014/06/15 职场文书
三好学生事迹材料
2014/12/24 职场文书
写给媳妇的检讨书
2015/05/06 职场文书
pytorch实现ResNet结构的实例代码
2021/05/17 Python
详解Python类和对象内容
2021/06/22 Python
一次SQL查询优化原理分析(900W+数据从17s到300ms)
2022/06/10 SQL Server