開源自己寫的圖片轉Ascii碼圖工具


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

如果覺得不錯可以給個star或者提出你的建議


img2Ascii,基於JS的圖片轉ASCII示意圖。

效果

轉碼前圖片

轉碼后圖片

構建

npm install 或者 yarn install

之后通過

npm run dev

即可打開項目

使用

以下代碼在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方法需要傳入兩個參數,第一個參數是圖片路徑,第二個參數是圖片轉換完畢后的回調函數,需要自己在回調函數中注入新生成的圖片節點,否則看不到效果。

實現思路

把圖片在canvas中繪制后,利用getImageData接口獲取圖片的rgba,計算rgba值轉換為對應的ASCII碼,在適當的位置進行換行,然后整體轉換便完成。

瓶頸

目前項目的瓶頸存在於html2canvas這個插件,把圖片轉成ASCII碼在瀏覽器中輸出是十分快速的,但是后期將輸出的ASCII碼轉換成圖片時,使用了html2canvas插件,這個插件在轉換圖片的過程中十分緩慢,導致最后的輸出緩慢。接下來會把html2canvas這個插件換成使用別的插件實現,忘廣大網友提供一些轉圖片的插件。


除此之外我還寫有draggable拖拽庫以及ant-template模板引擎,如果覺得不錯可以給個star


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM