[JavaScript]base64和Canvas的互转/图片base64上传

后端JSON返回的为data:image/jpeg;base64,/9j/........Base64 ->Canvas首先页面需要有容器// or u can have a loop like ngfor or v-for: <canvas id="{{item.Id}}"></canvas> setCanvasFun(id, scr) { const canvas = <HTMLCanvasElem
摘要由CSDN通过智能技术生成

后端JSON返回的为

data:image/jpeg;base64,/9j/........

Base64 ->Canvas

首先页面需要有容器

// or u can have a loop like ngfor or v-for:
                <canvas id="{
  {item.Id}}"></canvas>
  setCanvasFun(id, scr) {
    const canvas = <HTMLCanvasElement>document.getElementById(id);
    const img = new Image();
    img.src = scr;
    const myctx = canvas.getContext('2d');
    img.onload = () => {
      myctx.drawImage(img, 0, 0, 300, 150);
    };

  }

Canvas 转64

 setlogo() {
    const dom_pre = document.getElementById('template-preview');
    const canvas = dom_pre.getElementsByTagName('canvas')[0];
    const img = new Image();
    const cur = this;
    img.src = canvas.toDataURL('image/jpeg', 0.8);
    img.onload = () => {
      const mycanvas = <HTMLCan
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将多张图片合成一个图片,需要先将这些图片绘制到一个 canvas 上,然后使用 `toDataURL` 方法将 canvas 转换为 base64 格式的数据。 以下是实现多张图片合成一个图片的示例代码: ```javascript // 创建一个 canvas 元素 var canvas = document.createElement('canvas'); canvas.width = 600; // 设置 canvas 的宽度 canvas.height = 600; // 设置 canvas 的高度 // 获取 canvas 的上下文 var ctx = canvas.getContext('2d'); // 加载多张图片 var img1 = new Image(); img1.src = 'image1.png'; var img2 = new Image(); img2.src = 'image2.png'; var img3 = new Image(); img3.src = 'image3.png'; // 所有图片加载完成后绘制到 canvas 上 Promise.all([ new Promise((resolve, reject) => { img1.onload = resolve; }), new Promise((resolve, reject) => { img2.onload = resolve; }), new Promise((resolve, reject) => { img3.onload = resolve; }) ]).then(() => { // 绘制第一张图片 ctx.drawImage(img1, 0, 0, 200, 200); // 绘制第二张图片 ctx.drawImage(img2, 200, 0, 200, 200); // 绘制第三张图片 ctx.drawImage(img3, 400, 0, 200, 200); // 将 canvas 转换为 base64 格式的数据 var base64Data = canvas.toDataURL(); // 在页面上显示合成后的图片 var img = document.createElement('img'); img.src = base64Data; document.body.appendChild(img); }); ``` 在这个示例中,首先创建一个 canvas 元素,然后获取 canvas 的上下文。接着加载多张图片,并在所有图片加载完成后将它们绘制到 canvas 上。最后,使用 `toDataURL` 方法将 canvas 转换为 base64 格式的数据,并将它显示在页面上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值