文章詳情頁(yè)
javascript - 求助canvas繪制半透明的馬賽克?
瀏覽:212日期:2022-11-24 18:24:34
問(wèn)題描述
我的需求是提供給用戶使用鼠標(biāo)給上傳的證件涂抹馬賽克,我的思路是給canvas綁定鼠標(biāo)事件,沿著用戶的鼠標(biāo)按壓路徑,將一張半透明的png不停的繪制到證件上,現(xiàn)在我不想用半透明的Png疊加,想直接用canvas生成馬賽克,求皇軍帶路!
問(wèn)題解答
回答1:算法應(yīng)該并不難:
將 canvas 區(qū)域區(qū)分為形如 100x100 的網(wǎng)格
每次鼠標(biāo)事件,判斷鼠標(biāo)位于哪個(gè)網(wǎng)格內(nèi)
將該網(wǎng)格直接 fillRect 繪制為網(wǎng)格內(nèi)的平均顏色(網(wǎng)格內(nèi)全部點(diǎn)的 rgb 取平均,或直接取網(wǎng)格內(nèi)某一點(diǎn)顏色)
這就實(shí)現(xiàn)了疊加馬賽克的基本算法。
標(biāo)簽:
JavaScript
相關(guān)文章:
1. angular.js - angular內(nèi)容過(guò)長(zhǎng)展開(kāi)收起效果2. docker網(wǎng)絡(luò)端口映射,沒(méi)有方便點(diǎn)的操作方法么?3. docker容器呢SSH為什么連不通呢?4. nignx - docker內(nèi)nginx 80端口被占用5. debian - docker依賴的aufs-tools源碼哪里可以找到啊?6. docker綁定了nginx端口 外部訪問(wèn)不到7. css - chrome瀏覽器input記錄上次cookie信息后,有個(gè)黃色背景~如何去除!8. android clickablespan獲取選中內(nèi)容9. javascript - 移動(dòng)端css動(dòng)畫(huà)播放狀態(tài)暫停在ios不起作用 animation-play-state10. 前端 - ng-view不能加載進(jìn)模板
排行榜

熱門標(biāo)簽