字中字效果的实现【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实现针线缝合效果(图解步骤)
Feb 04 HTML / CSS
纯css3实现的竖形无限级导航
Dec 10 HTML / CSS
HTML5 device access 设备访问详解
May 24 HTML / CSS
Html5 Canvas 实现一个“刮刮乐”游戏
Sep 05 HTML / CSS
鲜为人知的HTML5语音合成功能
May 17 HTML / CSS
HTML5 实现一个访问本地文件的实例
Dec 13 HTML / CSS
HTML5注册页面示例代码
Mar 27 HTML / CSS
Html5中localStorage存储JSON数据并读取JSON数据的实现方法
Feb 13 HTML / CSS
详解canvas.toDataURL()报错的解决方案全都在这了
Mar 31 HTML / CSS
简单实现一个手持弹幕功能+文字抖动特效
Mar 31 HTML / CSS
奇妙的 CSS shapes(CSS图形)
Apr 05 HTML / CSS
table不让td文字溢出操作方法
Dec 24 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 中 Orientation 属性判断上传图片是否需要旋转
2015/10/16 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
2019/05/29 PHP
php慢查询日志和错误日志使用详解
2021/02/27 PHP
Jquery多选下拉列表插件jquery multiselect功能介绍及使用
2013/05/24 Javascript
自己编写的类似JS的trim方法
2013/10/09 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
angularJS结合canvas画图例子
2015/02/09 Javascript
jQuery垂直多级导航菜单代码分享
2015/08/18 Javascript
jQuery点击其他地方时菜单消失的实现方法
2016/04/22 Javascript
JS函数arguments数组获得实际传参数个数的实现方法
2016/05/28 Javascript
JavaScript的变量声明提升问题浅析(Hoisting)
2016/11/30 Javascript
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
2017/07/17 jQuery
JS与HTML结合实现流程进度展示条思路详解
2017/09/03 Javascript
vue进行图片的预加载watch用法实例讲解
2018/02/07 Javascript
node.js通过axios实现网络请求的方法
2018/03/05 Javascript
详解vue+webpack+express中间件接口使用
2018/07/17 Javascript
Vue中Quill富文本编辑器的使用教程
2018/09/21 Javascript
微信小程序云开发如何实现数据库自动备份实现
2019/08/16 Javascript
arcgis.js控制地图地体的显示范围超出区域自动弹回(实现思路)
2021/01/28 Javascript
python自动化脚本安装指定版本python环境详解
2017/09/14 Python
浅谈Python使用Bottle来提供一个简单的web服务
2017/12/27 Python
Python语法分析之字符串格式化
2019/06/13 Python
Tensorflow获取张量Tensor的具体维数实例
2020/01/19 Python
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
2020/01/25 Python
使用Keras建立模型并训练等一系列操作方式
2020/07/02 Python
Web时代变迁及html5与html4的区别
2016/01/06 HTML / CSS
美国学校校服,儿童和婴儿服装:Cookie’s Kids
2016/10/14 全球购物
应届生法律顾问求职信
2013/11/19 职场文书
大学毕业生文采飞扬的自我鉴定
2013/12/03 职场文书
大学生职业生涯设计书
2014/01/02 职场文书
syb养殖创业计划书
2014/01/09 职场文书
特教教师先进事迹
2014/05/21 职场文书
教师聘用意向书
2015/05/11 职场文书
经费申请报告范文
2015/05/18 职场文书
python爬取企查查企业信息之selenium自动模拟登录企查查
2021/04/08 Python
「租借女友」第2季樱泽墨角色PV&新视觉图公开
2022/03/21 日漫