字中字效果-html5实例
生活随笔
收集整理的這篇文章主要介紹了
字中字效果-html5实例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用html5實現如圖字中有字效果
實現思路:用canvas輸出文字,然后分析像素點,根據像素點輸出文字。
核心代碼:
var canvas;var ctx;var tex;var blankStr = "??";//輸出空白$(function () {$("button#bt").click(function () {//綁定按鈕單擊事件if ($("canvas#myCanvas").length > 0) {canvas = $("canvas#myCanvas")[0];ctx = canvas.getContext("2d");}var tex = $("input#inpt").val();//獲取輸入框文字if (!tex) tex = "頂";//默認文字為"頂"if (tex.length > 1) { //只支持一個漢字alert("親,少輸入點字好吧,我吃不消呢~");return;}var reg = /[\u4E00-\u9FA5]/g;//用正則表達式判斷是否為漢字if (!reg.test(tex)) {alert("親,輸入一個漢字好吧,其他的我不認識呢~");return;}ctx.fillStyle = "rgba(0,0,0,1)";//繪制底色ctx.fillRect(20, 20, 40, 40); ctx.fillStyle = "rgba(255,255,255,1)"//繪制文字ctx.font = "bolder 40px 宋體";ctx.textBaseline = 'top';ctx.fillText(tex, 20, 20);var panel = $("#panel");//漢字輸出區域panel.html("");//清空歷史漢字for (y = 1; y < 40; y++) {for (x = 1; x < 40; x++) {imageData = ctx.getImageData(20 + x, 20 + y, 1, 1);//獲取灰度像素值if (imageData.data[0] >180 ) { //0為黑,255為白,取180是為了調控精度,確保不同瀏覽器都能有良好效果panel.html(panel.html() + blankStr);} else {panel.html(panel.html() + tex);}}panel.html(panel.html() + "<br>");}});$("button#bt").click();//第一次加載是輸出"頂"});查看實例:http://jialiren.sinaapp.com/
轉載于:https://www.cnblogs.com/acjialiren/archive/2011/07/29/2121095.html
總結
以上是生活随笔為你收集整理的字中字效果-html5实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nagios整合cacti2011版(五
- 下一篇: ASP“.NET研究”.NET中的认证与