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 DOM 编程艺术(第2版)读书笔记(JavaScript的最佳实践)
Oct 01 Javascript
解析prototype,JQuery中跳出each循环的方法
Dec 12 Javascript
js从Cookies里面取值的简单实现
Jun 30 Javascript
jquery实现焦点图片随机切换效果的方法
Mar 12 Javascript
浅谈javascript的分号的使用
May 12 Javascript
利用jQuery中的ajax分页实现代码
Feb 25 Javascript
JS中微信小程序自定义底部弹出框
Dec 22 Javascript
快速了解vue-cli 3.0 新特性
Feb 28 Javascript
vue.js中$set与数组更新方法
Mar 08 Javascript
Element-UI中Upload上传文件前端缓存处理示例
Feb 21 Javascript
原生javascript的ajax请求及后台PHP响应操作示例
Feb 24 Javascript
vue+springboot实现登录验证码
May 27 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/05/10 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
2016/10/14 PHP
PHP通过GD库实现验证码功能示例
2019/02/23 PHP
JS 对象介绍
2010/01/20 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
2014/04/03 Javascript
jQuery实现弹出窗口中切换登录与注册表单
2015/06/05 Javascript
JS 调用微信扫一扫功能
2016/12/22 Javascript
详解nodejs 文本操作模块-fs模块(二)
2016/12/22 NodeJs
JS常见算法详解
2017/02/28 Javascript
jQuery插件之validation插件
2017/03/29 jQuery
为什么我们要做三份 Webpack 配置文件
2017/09/18 Javascript
vuex如何重置所有state(可定制)
2019/01/17 Javascript
jquery无缝图片轮播组件封装
2020/11/25 jQuery
聊聊Vue 中 title 的动态修改问题
2019/06/11 Javascript
layui之数据表格--与后台交互获取数据的方法
2019/09/29 Javascript
浅谈Vue为什么不能检测数组变动
2019/10/14 Javascript
JS实现长图上下滚动效果
2020/03/19 Javascript
浅谈vue中使用编辑器vue-quill-editor踩过的坑
2020/08/03 Javascript
[56:35]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第二局
2016/02/27 DOTA
Python中的ctime()方法使用教程
2015/05/22 Python
Python中pygame安装方法图文详解
2015/11/11 Python
python实现图像识别功能
2018/01/29 Python
Python实现随机创建电话号码的方法示例
2018/12/07 Python
解决django同步数据库的时候app models表没有成功创建的问题
2019/08/09 Python
Python类反射机制使用实例解析
2019/12/30 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
2020/01/08 Python
python+gdal+遥感图像拼接(mosaic)的实例
2020/03/10 Python
Python环境下安装PyGame和PyOpenGL的方法
2020/03/25 Python
使用CSS3在触屏上为按钮实现激活效果
2013/09/27 HTML / CSS
CSS3实现图片抽屉式效果的示例代码
2019/11/06 HTML / CSS
表彰先进集体通报
2014/01/12 职场文书
个人授权委托书样本
2014/09/13 职场文书
采购部年度工作总结
2015/08/13 职场文书
2016年情人节问候语
2015/11/11 职场文书
公务员的复习计划书,请收下!
2019/07/15 职场文书
Python还能这么玩之用Python做个小游戏的外挂
2021/06/04 Python