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 相关文章推荐
多浏览器支持的右下角浮动窗口
Apr 01 Javascript
jQuery中jqGrid分页实现代码
Nov 04 Javascript
用JQUERY增删元素的代码
Feb 14 Javascript
bootstrap data与jquery .data
Jul 07 Javascript
jQuery提示效果代码分享
Nov 20 Javascript
jQuery实现简单的列表式导航菜单效果代码
Aug 31 Javascript
原生js实现可拖动的登录框效果
Jan 21 Javascript
Bootstrap模态框插件使用详解
May 11 Javascript
JS库之Particles.js中文开发手册及参数详解
Sep 13 Javascript
Vue.js在数组中插入重复数据的实现代码
Nov 17 Javascript
微信小程序websocket实现即时聊天功能
May 21 Javascript
详解Vue的ref特性的使用
Jan 24 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
收音机频率指针指示不准确和灵敏度低问题
2021/03/02 无线电
东方红 - 来复式再生机的修复
2021/03/02 无线电
PHP实现MySQL更新记录的代码
2008/06/07 PHP
php中利用str_pad函数生成数字递增形式的产品编号
2013/09/30 PHP
java模拟PHP的pack和unpack类
2016/04/13 PHP
PHP验证类的封装与使用方法详解
2019/01/10 PHP
PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例
2019/06/12 PHP
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
jQuery fadeTo方法调整图片的透明度使用介绍
2013/05/06 Javascript
onmouseover和onmouseout的一些问题思考
2013/08/14 Javascript
jQuery实现简单的间隔向上滚动效果
2015/03/09 Javascript
JavaScript动态提示输入框输入字数的方法
2015/07/27 Javascript
js实现3D图片逐张轮播幻灯片特效代码分享
2015/09/09 Javascript
基于BootStrap环境写jQuery tabs插件
2016/07/12 Javascript
浅谈js中子页面父页面方法 变量相互调用
2016/08/04 Javascript
javascript实现数据双向绑定的三种方式小结
2017/03/09 Javascript
作为老司机使用 React 总结的 11 个经验教训
2017/04/08 Javascript
Angular中$broadcast和$emit的使用方法详解
2017/05/22 Javascript
微信小程序使用车牌号输入法的示例代码
2019/08/20 Javascript
js实现简单的轮播图效果
2020/12/13 Javascript
[40:50]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第四场
2014/05/24 DOTA
[49:02]KG vs Infamous 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
python封装对象实现时间效果
2020/04/23 Python
Windows系统配置python脚本开机启动的3种方法分享
2015/03/10 Python
python关闭windows进程的方法
2015/04/18 Python
Python将图片批量从png格式转换至WebP格式
2020/08/22 Python
python数据清洗系列之字符串处理详解
2017/02/12 Python
python中实现延时回调普通函数示例代码
2017/09/08 Python
python实现ID3决策树算法
2017/12/20 Python
Python使用add_subplot与subplot画子图操作示例
2018/06/01 Python
查找python项目依赖并生成requirements.txt的方法
2018/07/10 Python
Python 3.6 -win64环境安装PIL模块的教程
2019/06/20 Python
小学生环保演讲稿
2014/04/25 职场文书
python入门之算法学习
2021/04/22 Python
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python
企业开发CSS命名BEM代码规范实践
2022/02/12 HTML / CSS