开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
文档中心
凯发app官方网站的技术支持 & 案例 faq 
支付宝小程序
案例分析
sdk & demo下载
常见问题
常用工具
iot小程序
运维保障
小程序 > 支付宝小程序 > 案例分析 > 小程序前端实现图片转换base64图片数据
贡献者
收藏
我的文档
设置
在小程序开发中往往会遇到图片转 base64 的场景,目前小程序 my.createcanvascontext,提供了 canvascontext.todataurl 用于获取画布指定区域的 data url 数据。返回的数据就是 base64 图片数据,可直接使用 image 组件展示。
注意
图片转 base64 需要依赖 canvas 组件的能力,如页面不需要展示 canvas 可对其进行隐藏。
canvas.draw 和 canvas.todataurl 方法均为延迟方法需要在方法回调中进行进行其它操作。
获取 base64 图片字符串数据代码如下:
xml
复制代码
//axml
<view> <canvas
id="canvas"
width="610"
height="610"
class="canvas"
ontouchstart="log"
ontouchmove="log"
ontouchend="log"
/><image mode="widthfix" src="{{dataimage}}"/>view>
javascript
复制代码
//js
data: {
dataimage:"",},
onload(){
const ctx = my.createcanvascontext('canvas');
ctx.setfillstyle('#108ee9');
ctx.arc(50, 50, 50, 0, math.pi * 2, true);
ctx.fill(); ctx.draw(); //可通过设置filetype和quality来设置图片的格式和质量
ctx.todataurl({
x: 50,
y: 50,
width: 50,
height: 50,
destwidth: 100,
destheight: 100,
}).then(dataurl=>{
ctx.drawimage(dataurl, 0, 0);
console.log("dataurl", dataurl)
this.setdata({
dataimage:dataurl
})
ctx.draw();
})
}
显示效果如下:

开发者实现转换用户的本地相册图片,可通过三个步骤实现:
第一步:使用 my.chooseimage 拍照或从本地相册中选择图片。
第二步:使用 canvascontext.drawimage 将上一步获取到的图片绘制图像到画布,图像保持原始尺寸。
第三步:canvascontext.todataurl 获取画布指定区域的 data url 数据。
小程序前端 axml 代码:
小程序页面 js 代码:
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
网站地图