最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序?qū)崿F(xiàn)手寫簽名

 更新時(shí)間:2022年07月08日 08:39:26   作者:KabunM  
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)手寫簽名,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了微信小程序?qū)崿F(xiàn)手寫簽名的具體代碼,供大家參考,具體內(nèi)容如下

本示例具備的功能:

1、筆跡繪制

2、筆跡清空

以下是js代碼:

var content = null;
var touchs = [];
var canvasw = 0;
var canvash = 0;
var that = null;
?
Page({
? /**
? ?* 頁(yè)面的初始數(shù)據(jù)
? ?*/
? data: {
? ??
? },
? // 畫布的觸摸移動(dòng)開始手勢(shì)響應(yīng)
? start: function(event) {
? ? // console.log("觸摸開始" + event.changedTouches[0].y)
? ? // console.log("觸摸開始" + event.changedTouches[0].x)
? ? //獲取觸摸開始的 x,y
? ? let point = {
? ? ? x: event.changedTouches[0].y,
? ? ? y: event.changedTouches[0].x
? ? }
? ? touchs.push(point)
? },
?
? // 畫布的觸摸移動(dòng)手勢(shì)響應(yīng)
? move: function(e) {
? ? let point = {
? ? ? x: e.touches[0].y,
? ? ? y: e.touches[0].x
? ? }
? ? touchs.push(point)
? ? if (touchs.length >= 2) {
? ? ? this.draw(touchs)
? ? }
? },
?
? // 畫布的觸摸移動(dòng)結(jié)束手勢(shì)響應(yīng)
? end: function(e) {
? ? // console.log("觸摸結(jié)束" + e)
? ? //清空軌跡數(shù)組
? ? for (let i = 0; i < touchs.length; i++) {
? ? ? touchs.pop()
? ? }
?
? },
?
? /**
? ?* 生命周期函數(shù)--監(jiān)聽頁(yè)面加載
? ?*/
? onLoad: function(options) {
? ? that = this
? ? //獲得Canvas的上下文
? ? content = wx.createCanvasContext('firstCanvas')
? ? //設(shè)置線的顏色
? ? content.setStrokeStyle("#000")
? ? //設(shè)置線的寬度
? ? content.setLineWidth(5)
? ? //設(shè)置線兩端端點(diǎn)樣式更加圓潤(rùn)
? ? content.setLineCap('round')
? ? //設(shè)置兩條線連接處更加圓潤(rùn)
? ? content.setLineJoin('round')
? },
?
? /**
? ?* 生命周期函數(shù)--監(jiān)聽頁(yè)面初次渲染完成
? ?*/
? onReady: function() {
?
? ? // 獲取畫布尺寸
? ? var query = wx.createSelectorQuery()
? ? query.select('#canvas').boundingClientRect()
? ? query.exec(function(res) {
? ? ? canvasw = res[0].width;
? ? ? canvash = res[0].height
? ? })
? },
?
? //繪制
? draw: function(touchs) {
? ? let point1 = touchs[0]
? ? let point2 = touchs[1]
? ? touchs.shift()
? ? content.moveTo(point1.y, point1.x)
? ? content.lineTo(point2.y, point2.x)
? ? content.stroke()
? ? content.draw(true)
? },
? //清除操作
? clearClick: function() {
? ? //清除畫布
? ? content.clearRect(0, 0, canvasw, canvash)
? ? content.draw(true)
? },
? //保存圖片
? saveClick: function() {
? ? var that = this
? ? wx.canvasToTempFilePath({
? ? ? canvasId: 'firstCanvas',
? ? ? success: function(res) {
? ? ? ? //打印圖片路徑
? ? ? ? var path = res.tempFilePath
? ? ? ? //上傳圖片
? ? ? ? that.uploadSignPic(path)
? ? ? ? console.log(path)
?
?
? ? ? }
? ? })
? },
?
?
? /**
? ?* 上傳簽名圖片
? ?*/
? uploadSignPic: function(path) {
? ? ? //具體實(shí)現(xiàn)的業(yè)務(wù)邏輯
? }
?
})

以下是wxml代碼:

<!-- 手寫界面 -->
<view class='hand_writing_container'>
? <view class="tips_title">請(qǐng)?jiān)趨^(qū)域內(nèi)進(jìn)行簽名</view>
? <view id="canvas" class="canvas">
? ? <canvas class='firstCanvas'?
? ? canvas-id="firstCanvas"?
? ? bindtouchmove='move'?
? ? bindtouchstart='start'?
? ? bindtouchend='end'?
? ? disable-scroll='true' >
? ? </canvas>
? </view>
? <view class="btn_container">
? ? <view class="btn clean" bindtap="clearClick">
? ? ? <image src="/image/clear.png"></image>
? ? ? <text>內(nèi)容清除</text>
? ? </view>
? ? <view class="btn submit" bindtap="saveClick">
? ? ? <image src="/image/submit.png"></image>
? ? ? <text>確認(rèn)提交</text>
? ? </view>
? </view>
</view>

以下是樣式代碼:

.hand_writing_container {
? width: 100%;
? padding: 5.503vh 8.1761vh 0;
? box-sizing: border-box;
}
?
.tips_title {
? height: 4.72vh;
? line-height: 4.72vh;
? margin-bottom: 3.459vh;
? font-size: 4.71698vh;
? font-family: Source Han Sans CN;
? font-weight: 500;
? color: rgba(45, 45, 45, 1);
}
?
.canvas {
? width: 100%;
? height: 66.194968vh;
? margin-bottom: 3.7735849vh;
? box-sizing: border-box;
? border: 1rpx dashed black;
}
?
.firstCanvas {
? background-color: white;
? width: 100%;
? height: 100%;
}
?
.btn_container {
? display: flex;
? align-items: center;
? padding: 0 45.44vh;
? box-sizing: border-box;
? justify-content: space-between;
}
?
.btn {
? width: 45.597484vh;
? height: 13.83647798vh;
? padding: 0 11vh;
? box-sizing: border-box;
? border-radius: 1.572327vh;
? display: flex;
? justify-content: space-between;
? align-items: center;
}
?
.btn image {
? flex: 0 0 4.71698vh;
? width: 4.71698vh;
? height: 4.71698vh;
? display: block;
? margin-right: 1.88679vh;
}
?
.btn text {
? flex: 0 0 auto;
? height: 4.717vh;
? line-height: 4.717vh;
? font-size: 4.71698vh;
? font-family: Source Han Sans CN;
? font-weight: 400;
? color: rgba(255, 255, 255, 1);
}
?
.clean {
? background-color: #07c160;
}
?
.submit {
? background-color: #ff3d33;
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 微信小程序?qū)崿F(xiàn)監(jiān)聽頁(yè)面滾動(dòng)

    微信小程序?qū)崿F(xiàn)監(jiān)聽頁(yè)面滾動(dòng)

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)監(jiān)聽頁(yè)面滾動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • vite打包優(yōu)化vite-plugin-compression的使用示例詳解

    vite打包優(yōu)化vite-plugin-compression的使用示例詳解

    這篇文章主要介紹了vite打包優(yōu)化vite-plugin-compression的使用,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • Javascript中Fetch請(qǐng)求Coze API并流式展示請(qǐng)求結(jié)果

    Javascript中Fetch請(qǐng)求Coze API并流式展示請(qǐng)求結(jié)果

    文章介紹了如何使用Fetch API處理CozeAPI返回的流式響應(yīng),并在前端進(jìn)行實(shí)時(shí)展示,文章提供了處理流式響應(yīng)的步驟和示例代碼,包括使用fetch發(fā)起POST請(qǐng)求、讀取響應(yīng)體流、逐步處理數(shù)據(jù)塊以及更新UI,感興趣的朋友一起看看吧
    2025-02-02
  • JavaScript 常用函數(shù)

    JavaScript 常用函數(shù)

    javascript提供了許多函數(shù)供開發(fā)人員使用,下面給出一個(gè)簡(jiǎn)單介紹,更詳細(xì)的信息請(qǐng)參考Visual InterDev提供的在線幫助。
    2009-12-12
  • web打印小結(jié)

    web打印小結(jié)

    本文主要介紹了一款比較強(qiáng)大的web打印工具lodop實(shí)現(xiàn)將winform客戶端的打印,移到網(wǎng)頁(yè)上由客戶自行打印,打印要求是根據(jù)一定的格式實(shí)現(xiàn)套打的過程與方法。具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-01-01
  • JS動(dòng)態(tài)生成年份和月份實(shí)例代碼

    JS動(dòng)態(tài)生成年份和月份實(shí)例代碼

    本文給大家分享兩段代碼來(lái)通過js動(dòng)態(tài)生成年份和月份功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下
    2017-02-02
  • cocos2dx骨骼動(dòng)畫Armature源碼剖析(三)

    cocos2dx骨骼動(dòng)畫Armature源碼剖析(三)

    本篇文章給大家分享cocos2dx骨骼動(dòng)畫Armature源碼剖析(三),代碼附有注釋,介紹的非常詳細(xì),需要的朋友可以參考下
    2015-09-09
  • js網(wǎng)頁(yè)滾動(dòng)條滾動(dòng)事件實(shí)例分析

    js網(wǎng)頁(yè)滾動(dòng)條滾動(dòng)事件實(shí)例分析

    這篇文章主要介紹了js網(wǎng)頁(yè)滾動(dòng)條滾動(dòng)事件的用法,實(shí)例分析了javascript中window.onscroll監(jiān)控滾動(dòng)條滾動(dòng)事件的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • JavaScript Prototype對(duì)象

    JavaScript Prototype對(duì)象

    從JavaScript 1.1開始,它就有了一個(gè)內(nèi)置對(duì)象叫Prototype。通過它,可以擴(kuò)展JavaScript,在對(duì)象上編寫自定義的屬性和方法。
    2009-01-01
  • Javascript中的arguments對(duì)象

    Javascript中的arguments對(duì)象

    這篇文章主要介紹了Javascript中的arguments對(duì)象 的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06

最新評(píng)論

龙江县| 富源县| 宝兴县| 萨嘎县| 仙游县| 贵定县| 修武县| 明水县| 饶阳县| 梅河口市| 北川| 泉州市| 宝丰县| 东阳市| 剑阁县| 嘉义县| 中阳县| 萨嘎县| 西林县| 万源市| 泸州市| 抚顺市| 邳州市| 河西区| 武邑县| 宁德市| 陵水| 卫辉市| 海淀区| 廊坊市| 陕西省| 新疆| 扬州市| 龙门县| 宁波市| 从化市| 兴海县| 类乌齐县| 通州区| 拉萨市| 忻州市|