首页 / CANVAS / canvas生成自定义大小图片
canvas生成自定义大小图片
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了canvas生成自定义大小图片,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1355字,纯文字阅读大概需要2分钟。
内容图文
场景:比如移动端签名,一张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即为你自定义大小的图片文件
交流
1、QQ群:可添加qq群共同进阶学习: 进军全栈工程师疑难解 群号: 856402057
2、公众号:公众号「进军全栈攻城狮」 ,对前端技术保持学习爱好者。我会经常分享自己所学所看的干货,在进阶的路上,共勉!
内容总结
以上是互联网集市为您收集整理的canvas生成自定义大小图片全部内容,希望文章能够帮你解决canvas生成自定义大小图片所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。