微信小程序canvas画布绘制;canvas画布图片保存

简介: 微信小程序canvas画布绘制;canvas画布图片保存

微信小程序canvas画布绘制

wx.createSelectorQuery()
.select('#canvas')
.fields({ node:  true, size:  true  })
.exec(res  =>  {
let  ctx  =  res[0].node.getContext('2d');//getContext返回Canvas 的绘图上下文
let  canvas  =  res[0].node;
img=canvas;
console.log(img);
// 通过设备的像素比等重新绘制宽高
const  dpr  =  wx.getSystemInfoSync().pixelRatio
canvas.width  =  500  *  dpr
canvas.height  =  900  *  dpr
ctx.scale(dpr,  dpr)
console.log(res[0].width  *  dpr);
console.log(res[0].height  *  dpr);
let  image  =  canvas.createImage();//创建iamge实例
image.src  =  'https://xxxxxxxxx';
image.onload  =  function  (rrr)  {
ctx.drawImage(image,  0,  40,  500,  820);
}
let  image1  =  canvas.createImage();//创建iamge实例
image1.src  =  'https://xxxxxxxx';
image1.onload  =  function  (rrr)  {
ctx.drawImage(image1,  110,  435,  290,  290);
}
})
wx.createSelectorQuery().select('#canvas').boundingClientRect(function(res)  {
console.log(res);
}).exec();

微信小程序 canvas画布图片保存

wx.canvasToTempFilePath({
// 把画布转化成临时文件
x:  0,
y:  0,
width:  500,  // 截取的画布的宽
height:  900,  // 截取的画布的高
destWidth:  500,  // 保存成的画布宽度
destHeight:  900,  // 保存成的画布高度
fileType:  'jpg',  // 保存成的文件类型
quality:  1,  // 图片质量
canvas:img,  // 画布ID
success(res)  {
console.log(res.tempFilePath)
// 2-保存图片至相册
wx.saveImageToPhotosAlbum({
// 存成图片至手机
filePath:  res.tempFilePath,
success(res2)  {
wx.showToast({
title:  '保存成功',
duration:  2000
});
},
fail(res3)  {
if (res3.errMsg  ===  'saveImageToPhotosAlbum:fail auth deny') {
wx.showToast({
title:  '保存失败,稍后再试',
duration:  2000,
icon:  'none'
});
}  else  {
wx.showToast({
title:  '保存失败,稍后再试',
duration:  2000,
icon:  'none'
});
}
}
});
},
fail(error)  {
console.log(error);
wx.showToast({
title:  '保存失败,稍后再试',
duration:  2000,
icon:  'none'
});
}
});
相关文章
|
1月前
【微信公众平台对接】有关【上传图文消息内的图片获取URL】调用示例
【微信公众平台对接】有关【上传图文消息内的图片获取URL】调用示例
48 0
|
4月前
|
前端开发 小程序
微信小程序canvas画布绘制base64图片并保存图片到相册中
微信小程序canvas画布绘制base64图片并保存图片到相册中
|
9天前
|
小程序 开发者
体验版小程序为何无法访问云端服务器后端接口(请求失败...(已完美解决附加图片))?
体验版小程序为何无法访问云端服务器后端接口(请求失败...(已完美解决附加图片))?
14 0
|
4月前
【微信公众平台对接】有关【上传图文消息内的图片获取URL】调用示例
【微信公众平台对接】有关【上传图文消息内的图片获取URL】调用示例
63 0
|
4月前
|
前端开发 小程序
微信小程序绘制canvas时在不同 设备上的大小不同的问题
微信小程序绘制canvas时在不同 设备上的大小不同的问题
103 0
|
2月前
|
开发框架 JavaScript 小程序
uniapp、vue、小程序、js图片转base64 示例代码
uniapp、vue、小程序、js图片转base64 示例代码
|
2月前
|
文字识别 小程序 开发工具
mPaaS小程序问题之调用选图片的时候报错如何解决
mPaaS小程序是阿里巴巴移动平台服务(mPaaS)推出的一种轻量级应用解决方案,旨在帮助开发者快速构建跨平台的小程序应用;本合集将聚焦mPaaS小程序的开发流程、技术架构和最佳实践,以及如何解决开发中遇到的问题,从而助力开发者高效打造和维护小程序应用。
39 0
|
3月前
|
小程序 API
微信小程序如何利用createIntersectionObserver实现图片懒加载
微信小程序如何利用createIntersectionObserver实现图片懒加载
|
15天前
|
小程序 前端开发 API
微信小程序全栈开发中的异常处理与日志记录
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的异常处理和日志记录,强调其对确保应用稳定性和用户体验的重要性。异常处理涵盖前端(网络、页面跳转、用户输入、逻辑异常)和后端(数据库、API、业务逻辑)方面;日志记录则关注关键操作和异常情况的追踪。实践中,前端可利用try-catch处理异常,后端借助日志框架记录异常,同时采用集中式日志管理工具提升分析效率。开发者应注意安全性、性能和团队协作,以优化异常处理与日志记录流程。
|
15天前
|
小程序 安全 数据安全/隐私保护
微信小程序全栈开发中的身份认证与授权机制
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的身份认证与授权机制。身份认证包括手机号验证、微信登录和第三方登录,而授权机制涉及角色权限控制、ACL和OAuth 2.0。实践中,开发者可利用微信登录获取用户信息,集成第三方登录,以及实施角色和ACL进行权限控制。注意点包括安全性、用户体验和合规性,以保障小程序的安全运行和良好体验。通过这些方法,开发者能有效掌握小程序全栈开发技术。