canvas生成自定义大小图片

简介: canvas生成自定义大小图片

场景:比如移动端签名,一张canvas画布,在任意位置书写之后,生成一张图片,如果这种图片要放到某一个签名的位置会显的特别大,我们来解决这个问题

一、生成canvas图片

通过 canvas.toDataURL('image/png', 1) 生成一张base64的canvas图片,也可以是你自己的其他图片

/**
   * resize 生成自定义大小的图片
   * @param {String} datas 图片原文件
   * @param {Number} wantedWidth 修改后的宽度
   * @param {Number} wantedHeight 修改后的高度
   * @returns 
   */
 function resizedataURL(datas, wantedWidth, wantedHeight){
    return new Promise(async function(resolve,reject){
      var img = document.createElement('img');
      img.onload = function()
{        
        var canvas = document.createElement('canvas');
        var ctx = canvas.getContext('2d');
        canvas.width = wantedWidth;
        canvas.height = wantedHeight;
        ctx.drawImage(this, 0, 0, wantedWidth, wantedHeight);
        var dataURI = canvas.toDataURL();
        resolve(dataURI);
      };
      img.src = datas;
    })
  }

二、调用方法

// 生成一张大小为 255 * 250 的图片
var newDataUri = await this.resizedataURL(canvas.toDataURL('image/png', 1), 255, 250);
var encodeImages = encodeURI(newDataUri);

最后 encodeImages 即为你自定义大小的图片文件

相关文章
|
7月前
|
存储 弹性计算 监控
几百T的视频、图片数据进行更有效地存储和管理
采用传统硬盘搭建存储方案,看起来成本低廉,但是再加上各种附加因素后却大幅攀升,而云存储厂商通常提供基于订阅的定价模型、一些免费服务和一定的折扣。现在,我们就来了解一下如何更省钱地使用云存储。
19927 43
几百T的视频、图片数据进行更有效地存储和管理
|
9月前
|
前端开发 JavaScript
使用 JavaScript 获取 URL 参数的详细指南
【2月更文挑战第26天】
10544 2
使用 JavaScript 获取 URL 参数的详细指南
|
前端开发 JavaScript 关系型数据库
koa 搭建一个后台,实现crud, swagger,loger记录等
这么些api接口,然后把swagger也给加上,方便测试和维护api的文档,这也是后端一直需要做的事情,作为前端工程师,咋们虽然写后台代码不多,但是需要知道人家的工作内容是咋样的,参数怎么传递的,这样有利于联调。
koa 搭建一个后台,实现crud, swagger,loger记录等
|
缓存 Android开发 图形学
使用 ADB LogCat 查看在Android真机上 Unity debug.log 输出日志
在使用unity开的过程中查看输出日志是避免不了的,但是在真机上遇到卡死或者尤其是闪退的时候怎么办呢?这里给大家介绍一个简单便捷的android真机查看日志方法 参考了以下3位作者的文章: http://blog.
4524 0
|
6月前
|
人工智能 自然语言处理 Serverless
阿里云百炼应用实践系列-让微信公众号成为智能客服
本文主要介绍如何基于百炼平台快速在10分钟让您的微信公众号(订阅号)变成 AI 智能客服。我们基于百炼平台的能力,以官方帮助文档为参考,让您的微信公众号(订阅号)成 为AI 智能客服,以便全天候(7x24)回应客户咨询,提升用户体验,介绍了相关技术方案和主要代码,供开发者参考。
阿里云百炼应用实践系列-让微信公众号成为智能客服
|
9月前
|
缓存 前端开发 JavaScript
优化前端性能:提升网页加载速度的10个技巧
在当今互联网时代,网页加载速度已成为用户体验的重要指标之一。本文将介绍10个有效的前端优化技巧,帮助开发人员提升网页加载速度,提升用户体验,包括减少HTTP请求、压缩资源、优化图像等方面的实用建议。
|
JavaScript 前端开发
lodash-es 工具库
lodash-es 工具库
793 0
|
7月前
|
小程序
uniapp如何隐藏默认的页面头部导航栏,uniapp开发小程序如何隐藏默认的页面头部导航栏
uniapp如何隐藏默认的页面头部导航栏,uniapp开发小程序如何隐藏默认的页面头部导航栏
761 0
|
easyexcel Java BI
SpringBoot 实现合并表头导出数据 - EasyExcel应用
EasyExcel是一款开源的Java处理Excel文件的工具库,它提供了简单易用的API,可以方便地读取、写入和操作Excel文件。下面是一些常见的EasyExcel应用场景: 读取Excel文件:使用EasyExcel可以轻松地读取Excel文件中的数据,并将其转换为Java对象或集合。你可以指定读取的起始行、列,还可以处理不同Sheet的数据。

热门文章

最新文章