用canvas
和svg
都可以實現,而且跨平台能力也很好。
兩者各有自己擅長的領域,基於以上,以下是用canvas
實現的移動端簽字功能。從建立、設定、監聽繪製、重繪、儲存等進行處理。
html結構
清除p>
儲存p>
div>
css樣式
html,
body
* #canvas
#canvas canvas
#clearcanvas,
#s**ecanvas
#clearcanvas
#s**ecanvas
.errorcanvas
js內容
window.onload = function () );
}function linecanvas(obj) ;
this.canvas = document.createelement('canvas');
if (!(this.canvas.getcontext && this.canvas.getcontext('2d')))
this.canvas.width = this.el.clientwidth;
this.canvas.height = this.el.clientheight;
this.el.prepend(this.canvas);
this.cxt = this.canvas.getcontext('2d');
this.cxt.fillstyle = this.background;
this.cxt.fillrect(0, 0, this.canvas.width, this.canvas.height);
this.cxt.strokestyle = this.color;
this.cxt.linewidth = this.linewidth;
this.cxt.linecap = 'round'; // 線條末端新增圓形線帽,減少線條的生硬感
this.cxt.linejoin = 'round'; // 線條交匯時為原型邊角
// 利用陰影,消除鋸齒
this.cxt.shadowblur = 1;
this.cxt.shadowcolor = '#000';
// 開始繪製
this.canvas.addeventlistener('touchstart', function (e) .bind(this), false);
// 繪製中
this.canvas.addeventlistener('touchmove', function (e) .bind(this), false);
// 結束繪製
this.canvas.addeventlistener('touchend', function (e) .bind(this), false);
// 清除畫布
this.clearel.addeventlistener('click', function () .bind(this), false);
// 儲存
this.s**eel.addeventlistener('click', function () .bind(this), false);
}
利用 canvas 實現簽名效果
利用 canvas 實現簽名效果 使用外掛程式 jsignature github 如果再h5 中使用需要載入 flashcanvas.js 方法名稱 使用方法 說明clear jsignature clear 清空並重置畫布 getdata jsignature getdata base30 將畫...
canvas畫布實現手寫簽名效果
最近專案中涉及到移動端手寫簽名的功能需求,將實現 記錄於此,供小夥伴們參考指摘哦 html class msign signmark box class msign signmark write box id msign signmark signature pad class msign sign...
canvas實現浮雕效果
還是這個美女,長這樣 然後進行乙個浮雕操作 一瞬間,生動活躍的人物就變成了石板雕刻,還帶上了一點質感.如何實現這種浮雕質感呢?放在畫布裡,也就是對畫素的操作,關鍵就在怎麼操作了.先這樣 把每個畫素的通道和相鄰畫素的通道值進行差值運算,再這樣 得到結果加上中性灰的值 128 然後再這樣 當前畫素把以上...