




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第微信小程序?qū)崿F(xiàn)橫屏手寫簽名本文實(shí)例為大家分享了微信小程序?qū)崿F(xiàn)橫屏手寫簽名的具體代碼,供大家參考,具體內(nèi)容如下
1.關(guān)鍵配置:
pageOrientation:landscape配置該頁面橫屏展示
2.效果圖:
3.代碼:
wxml
view
canvasid="canvas"canvas-id="canvas"disable-scroll="true"bindtouchstart="canvasStart"
bindtouchmove="canvasMove"bindtouchend="canvasEnd"touchcancel="canvasEnd"
binderror="canvasIdErrorCallback"/canvas
view
請(qǐng)?jiān)诳騼?nèi)簽字
/view
view
buttontype="default"bindtap="cleardraw"重新簽名/button
buttontype="default"bindtap="getimg"提交簽字/button
/view
/view
js
constfileManager=wx.getFileSystemManager();
//canvas全局配置
varcontext=null;//使用wx.createContext獲取繪圖上下文context
varisButtonDown=false;
vararrx=[];
vararry=[];
vararrz=[];
varcanvasw=0;
varcanvash=0;
//獲取系統(tǒng)信息
wx.getSystemInfo({
success:function(res){
canvasw=res.windowHeight*1.2;//設(shè)備寬度
//canvash=res.windowWidth*7/15;
canvash=res.windowWidth*1.2;
//注冊(cè)頁面
Page({
/**
*頁面的初始數(shù)據(jù)
*/
data:{
signFlag:false,
/**
*生命周期函數(shù)--監(jiān)聽頁面加載
*/
onLoad:function(options){
context=wx.createCanvasContext('canvas');
context.setFillStyle('#fff')
context.fillRect(0,0,canvasw,canvash)
context.draw(true)
context.beginPath()
context.setStrokeStyle('#000000');
context.setLineWidth(4);
context.setLineCap('round');
context.setLineJoin('round');
onShow(){
arrx=[];
arry=[];
arrz=[];
isJSON(str){
if(typeofstr=='string'){
try{
varobj=JSON.parse(str);
if(typeofobj=='object'obj){
returntrue;
}else{
returnfalse;
}
}catch(e){
returnfalse;
}
}
canvasIdErrorCallback:function(e){},
//開始
canvasStart:function(event){
isButtonDown=true;
arrz.push(0);
arrx.push(event.changedTouches[0].x);
arry.push(event.changedTouches[0].y);
//context.moveTo(event.changedTouches[0].x,event.changedTouches[0].y);
//過程
canvasMove:function(event){
if(isButtonDown){
arrz.push(1);
arrx.push(event.changedTouches[0].x);
arry.push(event.changedTouches[0].y);
//context.lineTo(event.changedTouches[0].x,event.changedTouches[0].y);
//context.stroke();
//context.draw()
};
this.setData({
signFlag:true,
})
for(vari=0;iarrx.length;i++){
if(arrz[i]==0){
context.moveTo(arrx[i],arry[i])
}else{
context.lineTo(arrx[i],arry[i])
};
};
context.setStrokeStyle('#000000');
context.setLineWidth(4);
context.setLineCap('round');
context.setLineJoin('round');
context.stroke();
context.draw(true);
canvasEnd:function(event){
isButtonDown=false;
cleardraw:function(){
//清除畫布
arrx=[];
arry=[];
arrz=[];
context.clearRect(0,0,canvasw,canvash);
context.draw(true);
//導(dǎo)出圖片
getimg:function(){
letthat=this
if(arrx.length==0){
wx.showModal({
title:'提示',
content:'簽名內(nèi)容不能為空!',
showCancel:false
});
returnfalse;
};
console.log(this.data.signFlag);
if(!this.data.signFlag){
wx.showModal({
title:'提示',
content:'簽名內(nèi)容不能為空!',
showCancel:false
});
returnfalse;
}
//生成圖片
wx.canvasToTempFilePath({
canvasId:'canvas',
success:function(res){
//將圖片轉(zhuǎn)換為base64的格式
letbase64='data:image/jpg;base64,'+fileManager.readFileSync(res.tempFilePath,'base64');
//其他
}
})
})
wxss
page{
background:#fff;
.container{
width:95%;
position:absolute;
height:95%;
top:50%;
left:50%;
transform:translate(-50%,-50%);
box-sizing:border-box;
background:#fff;
border-radius:5px;
.canvas{
width:100%;
height:70%;
border:1pxsolid#aaa;
box-sizing:border-box;
.tips{
height:10%;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
color:#aaa;
.addBtn{
display:flex;
align-items:center;
justify-content:center;
height:18%;
position:fixed;
bottom:0;
width:100%;
background:#fff;
z-index:100;
.addBtn.txt{
text-align:center;
width:90%;
font-size:13px;
border-radius:100px;
backg
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療旅游中的安全與風(fēng)險(xiǎn)應(yīng)對(duì)
- 健康教育在預(yù)防性健康支出中的價(jià)值
- 金融科技與銀行風(fēng)險(xiǎn)管理的研究
- 醫(yī)療領(lǐng)域中的區(qū)塊鏈技術(shù)應(yīng)用案例
- 2024至2030年中國(guó)喬絨圍巾行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年度銀行工作總結(jié)報(bào)告2篇
- 2025年文化藝術(shù)管理專業(yè)考試試卷及答案
- 2025年環(huán)境科學(xué)與工程專業(yè)復(fù)習(xí)試卷及答案
- 心內(nèi)科小講課課件
- 企業(yè)管理信息系統(tǒng)講義
- 建筑工人安全教育新模式試題及答案
- GB/T 17791-1999空調(diào)與制冷用無縫銅管
- GA/T 1032-2013張力式電子圍欄通用技術(shù)要求
- 項(xiàng)目部施工安全風(fēng)險(xiǎn)源識(shí)別清單
- 泥水平衡頂管施工方案(專家論證)
- 鐵路運(yùn)輸調(diào)度指揮與統(tǒng)計(jì)分析
- 漏纜安裝施工作業(yè)指導(dǎo)書資料
- 《大學(xué)物理》說課課件
- 用En值評(píng)價(jià)人員比對(duì)結(jié)果的范例
- 支局一點(diǎn)一策PPT通用課件
- 國(guó)防科大暗室屏蔽部分標(biāo)書
評(píng)論
0/150
提交評(píng)論