這篇文章主要介紹了小程序點擊圖片實現(xiàn)png轉(zhuǎn)jpg,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

從網(wǎng)站建設(shè)到定制行業(yè)解決方案,為提供成都做網(wǎng)站、網(wǎng)站設(shè)計、外貿(mào)營銷網(wǎng)站建設(shè)服務(wù)體系,各種行業(yè)企業(yè)客戶提供網(wǎng)站建設(shè)解決方案,助力業(yè)務(wù)快速發(fā)展。創(chuàng)新互聯(lián)將不斷加快創(chuàng)新步伐,提供優(yōu)質(zhì)的建站服務(wù)。
頁面數(shù)據(jù)初始化添加參數(shù):isSignCanvassShow<br><br>//通過canvas將圖片轉(zhuǎn)為jpg,使圖片生成白色底便于查看預(yù)覽
//list為原圖片數(shù)組列表,index表示當(dāng)前圖片下標(biāo),
//imgList表示已經(jīng)通過canvas轉(zhuǎn)化的圖片列表
trasformImgType(list,index,imgList){
this.setData({
isSignCanvasShow:true
});
index=index?index:0;
const that=this;
let img=list[index].fileUrl;
img=img.replace(/http/,'https');
tip.loading('正在打開圖片');
//獲取圖片信息,
wx.getImageInfo({
src: img,
success (res) {
//畫入canvas
const context = wx.createCanvasContext('picCanvas');
that.resetCanvas(context);
context.drawImage(res.path,0, 0);
context.draw(false,function(drawed){
// console.log(drawed);
wx.canvasToTempFilePath({
x: 0,
y: 0,
width: 414,
height: 300,
destWidth: 414,
destHeight:300,
fileType: 'jpg',
canvasId: 'picCanvas',
success(imgRes) {
tip.loaded();
imgList.push(imgRes.tempFilePath);
if(index<list.length-1){
that.trasformImgType(list,index+1,imgList)
return;
}
that.setData({
isSignCanvasShow:false
})
wx.previewImage({
current: '', //圖標(biāo)當(dāng)前下標(biāo)
urls: imgList, // 需要預(yù)覽的圖片http鏈接列表
fail:function(res){
tip.alert('圖片過期需刷新');
},
})
},
fail() {
that.setData({
isSignCanvasShow:false
})
tip.loaded();
tip.alert('圖片過期需刷新');
}
})
} )
}
})
},
//重繪畫板
resetCanvas(context){
context.rect(0, 0, this.data.screenWidth, this.data.screenHeight - 4); //畫板大小
context.setFillStyle('#fff');//背景填充
context.fill() //設(shè)置填充
context.draw() //開畫
},wxml文件需要添加如下代碼:
<view hidden="{{!isSignCanvasShow}}">
<canvas canvas-id="picCanvas" id='picCanvas' class="pic-canvas" ></canvas>
</view>方法解釋:
通過wx.previewImage預(yù)覽圖片時,會出現(xiàn)格式為png預(yù)覽背景為黑色時,圖片查看不清楚,能過下面的方法轉(zhuǎn)化為白色底,方便查看
1、先用wx.getImageInfo 下載圖片到本地,并且獲取圖片的信息;
2、將圖片畫入canvas,并生成臨時圖片地址;
3、將canvas生成的地址填寫入imgList緩存起來;
4、當(dāng)所有圖片都轉(zhuǎn)化完成之后,調(diào)用wx.previewImage查看圖片
5、每次轉(zhuǎn)化完一片圖片的時候,就重新繪制一下canvas;
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
分享標(biāo)題:小程序點擊圖片實現(xiàn)png轉(zhuǎn)jpg
標(biāo)題路徑:http://www.aaarwkj.com/article32/peggpc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、網(wǎng)站制作、網(wǎng)頁設(shè)計公司、品牌網(wǎng)站設(shè)計、電子商務(wù)、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)