通过javascript把图片转化为字符画
通过javascript把图片转化为字符画 1.获取上传图片对象数据 复制代码 代码如下: var reader = new FileReader(); //建立一个FileReader接口 reader.readAsDataURL(fileBtn.files[0]); //fileBtn为文件上传控件对象 reader.onload = function () { //在onload事件中访问图像数据 img.src = reader.result; } 2.获取图像对象像素点 复制代码 代码如下: var imgData = c.getImageData(0,img.width,img.height); var imgDataArr = imgData.data; var imgDataWidth = imgData.width; var imgDataHeight = imgData.height; for (h = 0; h < imgDataHeight; h += 12) { for (w = 0; w < imgDataWidth; w += 6) { var index = (w + imgDataWidth * h) * 4; var r = imgDataArr[index + 0]; var g = imgDataArr[index + 1]; var b = imgDataArr[index + 2]; } } 3.根据rgb值计算灰度 复制代码 代码如下: // 根据rgb值计算灰度 function getGray(r,g,b) { return 0.299 * r + 0.578 * g + 0.114 * b; } 4.根据灰度生成相应字符 复制代码 代码如下: // 根据灰度生成相应字符 function toText(g) { if (g <= 30) { return '8′; } else if (g > 30 && g <= 60) { return '&'; } else if (g > 60 && g <= 120) { return '$'; } else if (g > 120 && g <= 150) { return '*'; } else if (g > 150 && g <= 180) { return 'o'; } else if (g > 180 && g <= 210) { return '!'; } else if (g > 210 && g <= 240) { return ';'; } else { return ‘.'; } } 到这次我们的工作就完成得差不多啦,上面只给出了一些代码的片段,把原理疏通了一下,具体怎么实现大家可以自由发挥。猛点这里代码下载地址 您可能感兴趣的文章:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |