开源本身写的图片转Ascii码图工具

GitHub地址:https://github.com/qiangzi7723/img2Asciihtml

若是以为不错能够给个star或者提出你的建议git


img2Ascii,基于JS的图片转ASCII示意图。github

效果

转码前图片npm

转码后图片canvas

构建

npm install 或者 yarn install

以后经过浏览器

npm run dev

便可打开项目app

使用

如下代码在main.js函数

const Img2Ascii=require('./index');
const img=require('./assets/av.png');

new Img2Ascii(img,(nSrc,img)=>{
    const nImg = new Image();
    nImg.src = nSrc;
    nImg.style.width = img.width + 'px';
    nImg.style.height = img.height + 'px';
    nImg.onload = () => {
        document.body.appendChild(nImg);
        document.getElementById('tip').style.display='none';
    }
});

Img2Ascii方法须要传入两个参数,第一个参数是图片路径,第二个参数是图片转换完毕后的回调函数,须要本身在回调函数中注入新生成的图片节点,不然看不到效果。ui

实现思路

把图片在canvas中绘制后,利用getImageData接口获取图片的rgba,计算rgba值转换为对应的ASCII码,在适当的位置进行换行,而后总体转换便完成。插件

瓶颈

目前项目的瓶颈存在于html2canvas这个插件,把图片转成ASCII码在浏览器中输出是十分快速的,可是后期将输出的ASCII码转换成图片时,使用了html2canvas插件,这个插件在转换图片的过程当中十分缓慢,致使最后的输出缓慢。接下来会把html2canvas这个插件换成使用别的插件实现,忘广大网友提供一些转图片的插件。


除此以外我还写有draggable拖拽库以及ant-template模板引擎,若是以为不错能够给个star

相关文章
相关标签/搜索