字中字效果的实现【html5实例】


Posted in HTML / CSS onMay 03, 2016

字中字效果的实现【html5实例】

用html5实现如图字中有字效果

实现思路:用canvas输出文字,然后分析像素点,根据像素点输出文字。

核心代码:

JavaScript Code复制内容到剪贴板
  1. var canvas;   
  2. var ctx;   
  3. var tex;   
  4. var blankStr = "  ";//输出空白   
  5.     
  6. $(function () {   
  7.     
  8.     $("button#bt").click(function () {//绑定按钮单击事件   
  9.     
  10.         if ($("canvas#myCanvas").length > 0) {   
  11.             canvas = $("canvas#myCanvas")[0];   
  12.             ctx = canvas.getContext("2d");   
  13.         }   
  14.     
  15.         var tex = $("input#inpt").val();//获取输入框文字   
  16.         if (!tex) tex = "顶";//默认文字为"顶"   
  17.         if (tex.length > 1) { //只支持一个汉字   
  18.             alert("亲,少输入点字好吧,我吃不消呢~");   
  19.             return;   
  20.         }   
  21.     
  22.         var reg = /[\u4E00-\u9FA5]/g;//用正则表达式判断是否为汉字   
  23.         if (!reg.test(tex)) {   
  24.             alert("亲,输入一个汉字好吧,其他的我不认识呢~");   
  25.             return;   
  26.         }   
  27.     
  28.         ctx.fillStyle = "rgba(0,0,0,1)";//绘制底色   
  29.         ctx.fillRect(20, 20, 40, 40);    
  30. ?   
  31.         ctx.fillStyle = "rgba(255,255,255,1)"//绘制文字   
  32.         ctx.font = "bolder 40px 宋体";   
  33.         ctx.textBaseline = 'top';   
  34.         ctx.fillText(tex, 20, 20);   
  35.     
  36.         var panel = $("#panel");//汉字输出区域   
  37.         panel.html("");//清空历史汉字   
  38.     
  39.         for (y = 1; y < 40; y++) {   
  40.             for (x = 1; x < 40; x++) {   
  41.                 imageData = ctx.getImageData(20 + x, 20 + y, 1, 1);//获取灰度像素值   
  42.                 if (imageData.data[0] >180 ) {    //0为黑,255为白,取180是为了调控精度,确保不同浏览器都能有良好效果   
  43.                     panel.html(panel.html() + blankStr);   
  44.                 } else {   
  45.                     panel.html(panel.html() + tex);   
  46.                 }   
  47.             }   
  48.             panel.html(panel.html() + "<br>");   
  49.         }   
  50.     });   
  51.     
  52.     $("button#bt").click();//第一次加载是输出"顶"   
  53. });    

以上这篇字中字效果的实现【html5实例】就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

原文地址:http://www.cnblogs.com/shouce/archive/2016/05/03/5453737.html

HTML / CSS 相关文章推荐
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
Oct 10 HTML / CSS
纯css实现照片墙3D效果的示例代码
Nov 13 HTML / CSS
CSS3使用transition属性实现过渡效果
Apr 18 HTML / CSS
html5的localstorage详解
May 09 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(二)
Jan 21 HTML / CSS
HTML5的语法变化介绍
Aug 13 HTML / CSS
HTML5 新标签全部总汇(推荐)
Jun 13 HTML / CSS
canvas裁剪clip()函数的具体使用
Mar 01 HTML / CSS
html5实现多图片预览上传及点击可拖拽控件
Mar 15 HTML / CSS
Html5原创俄罗斯方块(基于canvas)
Jan 07 HTML / CSS
基于 HTML5 WebGL 实现的医疗物流系统
Oct 08 HTML / CSS
css中有哪些方式可以隐藏页面元素及区别
Jun 16 HTML / CSS
html5需遵循的6个设计原则
Apr 27 #HTML / CSS
HTML5+Canvas+CSS3实现齐天大圣孙悟空腾云驾雾效果
Apr 26 #HTML / CSS
HTML5标签嵌套规则详解【必看】
Apr 26 #HTML / CSS
HTML 5.1来了 9月份正式发布 更新内容预览
Apr 26 #HTML / CSS
HTML5本地数据库基础操作详解
Apr 26 #HTML / CSS
HTML5移动端手机网站开发流程
Apr 25 #HTML / CSS
基于html5绘制圆形多角图案
Apr 21 #HTML / CSS
You might like
用php随机生成福彩双色球号码的2种方法
2013/02/04 PHP
ThinkPHP连接数据库的方式汇总
2014/12/05 PHP
PHP微信开发之文本自动回复
2016/06/23 PHP
javascript中使用replaceAll()函数实现字符替换的方法
2010/12/25 Javascript
JQuery中关于jquery.js与jquery.min.js的比较探讨
2013/05/15 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
2016/04/15 Javascript
深入浅析JS是按值传递还是按引用传递(推荐)
2016/09/18 Javascript
js利用appendChild对标签进行排序的实现方法
2016/10/16 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
2016/10/21 Javascript
JavaScript中清空数组的三种方式
2017/03/22 Javascript
Vue的Class与Style绑定的方法
2017/09/01 Javascript
vue 返回上一页,页面样式错乱的解决
2019/11/14 Javascript
vue仿淘宝滑动验证码功能(样式模仿)
2019/12/10 Javascript
uniapp,微信小程序中使用 MQTT的问题
2020/07/11 Javascript
[47:21]Liquid vs TNC Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
[02:12]2019完美世界全国高校联赛(春季赛)报名开启
2019/03/01 DOTA
用Python实现一个简单的线程池
2015/04/07 Python
Python编程使用tkinter模块实现计算器软件完整代码示例
2017/11/29 Python
答题辅助python代码实现
2018/01/16 Python
Python实现的简单线性回归算法实例分析
2018/12/26 Python
Python3分析处理声音数据的例子
2019/08/27 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
2019/10/24 Python
python Django框架实现web端分页呈现数据
2019/10/31 Python
python opencv图片编码为h264文件的实例
2019/12/12 Python
VSCode 自定义html5模板的实现
2019/12/05 HTML / CSS
DJI大疆无人机官方商城:全球领先的无人飞行器研发和生产商
2016/12/21 全球购物
意大利折扣和优惠券网站:Groupalia
2019/10/09 全球购物
计算机科学与技术应届生求职信
2013/11/07 职场文书
兰兰过桥教学反思
2014/02/08 职场文书
请假条范文大全
2014/04/10 职场文书
业务内勤岗位职责
2014/04/30 职场文书
2014年党风廉政工作总结
2014/12/03 职场文书
2014年煤矿安全工作总结
2014/12/04 职场文书
如何使JavaScript休眠或等待
2021/04/27 Javascript
用python实现监控视频人数统计
2021/05/21 Python
Nginx反向代理至go-fastdfs案例讲解
2021/08/02 Servers