整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          前端 web 如何實現“簽名手寫”板

          前端 web 如何實現“簽名手寫”板

          web 手寫板是個比較常見的需求了,多用在需要用戶進行簽名認證的業務中。

          canvas 作為 H5 的新標簽,適用于 動態繪制 復雜的 高分辨率 圖形,是此類需求的最好方案。

          但在實際開發中,遇到了幾個問題:

          • 如何用 canvas 做筆跡跟隨?
          • 有沒有第三方簽名插件?
          • 橫豎屏切換問題?

          這篇圍繞這幾個問題進行解答說明。

          canvas 筆跡跟隨

          MDN 提供了 Canvas 入門的詳細文檔,基本常用 API 的都能直接找到。

          創建 canvas 畫布及畫筆樣式

          定義“畫筆”事件

          首先,結合 getBoundingClientRect 能獲取畫筆在畫布中的坐標值

          根據畫筆繪制過程,拆分為三個狀態:開始繪制(記錄 canvas 起始點),筆跡跟隨,繪制完成(事件釋放)

          效果如下

          筆跡跟隨

          jSignature

          上面雖然完成了功能,只是簡單的 Demo,實際更偏向使用更穩定的第三方插件: jSignature 是個比較好的選擇。

          它依賴 jQuery ,對于不支持 canvas 的瀏覽器有降級處理,同時對筆跡繪制,圖形導出有優化,對比我們 Demo,其有更好的穩定性和擴展性。

          jSignature 提供了線上 demo,可以直接看效果。

          偽代碼如下(Vue):

          最后頁面效果如下:

          jSignature-demo

          屏幕旋轉問題

          如何切換橫屏

          這個問題很簡單,對 css 添加個屬性 transform 旋轉屬性便可,但會發現旋轉 90° 后頁面出現了異常:

          旋轉異常

          頂部導航欄欄,按鈕操作欄都消失了,畫布也錯位。

          旋轉后,頁面顯示異常

          這是因為旋轉的整個元素按著頁面中心進行旋轉(橫豎屏切換),之后需要重新對頁面旋轉后的寬高進行置換:


          由于寬高調整后,旋轉的中心改變了,需要對偏移量進行修復。

          旋轉中心

          這個偏移量起始先對未旋轉前的頁面計算旋轉中心點(已重置過寬高),假設坐標原點在左上角,那么坐標值為:(320,180)

          當旋轉 90° 后,坐標值更換為:(180,320),需要對 320-180=140 進行偏移重置。那么 css 樣式更新為:

          最后旋轉后的頁面將恢復正常:

          偏移重置后

          畫布錯位

          當繪制簽名時,會發現畫布顯示異常,繪制位置和實際筆跡出現的位置不同(被旋轉 90°),而且畫布也非旋轉后的大小。

          畫布錯位

          旋轉后畫布實際區域如下:

          畫布實際區域

          雖然 畫板區域 是在頁面旋轉后生成的,但畫布所掛載的節點受旋轉的影響。所以對于畫布需要“撤銷”旋轉的 90° 影響,同時畫布在生成前需要根據旋轉后實際呈現的高寬指定生成。

          代碼如下:


          最后,簽名繪制和筆跡呈現保持了一致。

          tip 彈框錯位

          雖然上面對畫布區域進行了“額外處理”使整個頁面顯示正常,但實際交互中會有一些 tip 或者彈框提示,這些元素由于是新掛載到頁面某些節點上的,沒有受旋轉影響,就會有如下非預期展示:

          tip異常

          而我們不可能見一個修改一個,需要全局地觀察這類元素變動,進行錯位展示的重置。

          這時我們可以借助 MutationObserver 來對這些元素進行監聽,來反轉 90° 重置:

          MutationObserver 監聽

          解決上述幾個問題后,最后效果如下:

          完整效果

          做一個手寫簽名功能輕松幾步實現,保存成圖片提交,網上招商到這個js庫jq-signature,分享一下。

          以下內容來自插件官方

          插件介紹

          jq-signature是一款基于HTML5 canvas的支持移動觸摸設備的在線簽名和涂鴉jQuery插件。可以使用該jQuery插件來制作在線簽名或涂鴉板,用戶繪制的東西可以用圖片的形式保存下來,非常方便實用。

          兼容瀏覽 Chrome Firefox Opera Safari IE10+

          簡要教程

          jq-signature是一款基于HTML5 canvas的支持移動觸摸設備的在線簽名和涂鴉jQuery插件。可以使用該jQuery插件來制作在線簽名或涂鴉板,用戶繪制的東西可以用圖片的形式保存下來,非常方便實用。關于使用HTML5 canvas制作涂鴉板的方法,可以參考《使用html5 canvas制作涂鴉畫板》,如何將繪制號的涂鴉圖片上傳到服務器可以參考《HTML5 canvas畫圖及圖片上傳服務器》。

          使用方法

          HTML結構

          然后可以像下面這樣創建一個簽名區域。你可以使用HTML5的data-option來傳遞一些參數。

          你可以創建兩個操作按鈕,分別用于清空畫板和保存簽名。

          你可以使用一個空的<div>來顯示保存的簽名圖片。

          初始化插件

          在頁面加載完畢之后使用下面的方法來初始化該簽名插件。

          配置參數

          下面是該簽名插件的一些可用參數,這些參數同時也可以在data-attributes上使用:

          原文:

          http://www.htmleaf.com/html5/html5-canvas/201505281921.html

          很多人問我,怎樣才能快速模仿簽名?特別是模仿出他人無法分辨的筆跡,今天教大家一招,您也可以筆跡模仿的!下面我來揭秘:

          簡單的說,簽字模仿就要把握好三個“度”!即;

          速度,角度,力度!

          模仿筆跡的第一就是要研究原跡。仔細觀察原手跡,并注意他的手寫方式。即,角度!用心揣摩他的捏筆姿勢,“字如其人”每個人的簽名簽字角度都不同。甚至他的心情不同,簽字也有所不同!有些人不先觀察就盲目模仿筆跡,很可能犯明顯的錯誤。請注意以下這幾點:A看一下原被模仿簽名的弧線高度和大小。是瀟灑的龍飛鳳舞,還是小又精致靈巧?把弧線寫好是模仿簽名的主要任務。b仔細檢查被模仿簽字筆畫的結構,他們是否清晰,亂涂或擁擠不堪?有什么花招嗎?c檢查模仿字跡的坡度,是左邊還是右,他到底傾斜了多少?還有多少?d筆觸的鏈接位置。筆畫之間是否有很多重疊或空白?e,觀察簽名模仿者的書寫個性,即作者的書寫神韻!很多模仿筆跡的人沒有注意到這一點,只是盲目練習熟悉,外形寫的也很像,但缺乏神!那就是字跡被模仿的個性!

          第二就是速度即加強實踐練習。如果您熟悉了簽名簽字,就需要大量練習。速度我符合原作者的書寫速度,快了也不行,慢了更不行!筆跡模仿要達到高水平,困難就超出了您的想象力。簽名很難被模仿,這就是為啥我們任然使用簽字來驗證許多法律文件的原因。練習時,請注意原始簽名和模仿簽名之間的細微差別,并進行進一步調整。直到您模仿字跡看起來自然并且神韻相似為止。我建議神似比形似更重要!


          第三就是力度就是自信寫出來!字跡模仿書寫時,必須有足夠的信心一次完成,也就是一氣呵成,“速度”“角度”“力度”,不要花費的太長時間。自信的簽字看起來比真實的要真實的多,快速簽名,不要半途改變,千萬記住,不要修飾!最后溫馨提醒大家:模仿字跡模仿筆跡學會了只可救急,但不能從事違法罪行為!當面書寫,寫好拿走,模仿筆跡,模仿簽字 浙江杭州模仿簽名,簽名設計,技術保障,千萬別找到技術差的。技藝不成,反誤事!專業模仿代寫,各種簽名,簽字,可寫任何高難度文字及任何外國文字。相似度可達99.99%,希望此文能對你有所幫助!


          轉載:http://www.mofangqianming.com/zhishi/21.html


          主站蜘蛛池模板: 成人毛片无码一区二区| 国偷自产av一区二区三区| 亚洲熟妇无码一区二区三区| 中文字幕在线一区二区三区| 成人免费视频一区二区| 波多野结衣电影区一区二区三区 | 亚洲一区二区三区在线观看蜜桃| 人妻无码一区二区视频| 国产精品综合一区二区| 国产一区二区三区视频在线观看| 国产天堂在线一区二区三区| 日韩一区二区三区免费播放| 一区二区三区视频观看| 国产另类ts人妖一区二区三区 | 国产精品无码一区二区三区不卡| 深田咏美AV一区二区三区| 久久久久久人妻一区二区三区| 无码少妇丰满熟妇一区二区| 无码人妻精品一区二区蜜桃| 国产一区韩国女主播| 亚洲A∨精品一区二区三区 | 国产一区二区在线观看app| 国内偷窥一区二区三区视频| 2022年亚洲午夜一区二区福利| 一区二区中文字幕| 无码精品一区二区三区| 国产精品va一区二区三区| 国产精品亚洲一区二区三区 | 国产成人久久精品麻豆一区| 一区二区三区视频网站| 国产成人无码AV一区二区| 国产成人无码一区二区三区在线 | 精品一区精品二区| 视频一区二区在线观看| 亚洲国产一区二区三区在线观看| 无码一区二区波多野结衣播放搜索 | 人妻少妇精品视频一区二区三区 | 国产精品一区二区三区久久| 麻豆精品一区二区综合av| 波多野结衣AV一区二区三区中文| 久久精品无码一区二区三区日韩|