canvas有一個神奇的方法getImageData這個玩意。 它可以獲取canvas內圖像的沒一個圖元點的顏色值獲取,而且可以改變。

 

如果你有各種濾鏡的演算法。 那麼用canvas就可以實現圖片的濾鏡轉化,可以做成類似美圖秀秀那樣的功能。

 

使用方法:

 

1:先將圖片導入畫布。

 

2:var canvasData = coNtext.getImageData(0, 0, canvas.width, canvas.height); 用這個將圖片每個圖元點的資訊獲取出來,得到一個陣列。 注意得到的資訊不是[[r,g,b,a],[r,g,b,a]]這樣的二維陣列而是[r,g,b,a,r,g,b,a]這樣的按rgba順序排列的單個的陣列。

 

3:這一步就是開始將每個圖元的rgba改變。 這裡簡單介紹一下灰度效果的演算法及實現步驟。
 
 
4:coNtext.putImageData(canvasData, 0, 0); 處理完圖元顏色值之後,記得要這一句將畫布重繪
 
這些個代碼就是將圖片轉化為黑白效果的代碼,具體可以實現多少效果就得看你掌握的濾鏡演算法有多少了。
 
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的説明,同時也希望多多支援 科技幫
arrow
arrow
    文章標籤
    canvas
    全站熱搜
    創作者介紹
    創作者 科技幫 的頭像
    科技幫

    科技幫的部落格

    科技幫 發表在 痞客邦 留言(0) 人氣()