西安建设局网站地址曲靖做网站需要多少钱
web/
2025/9/26 22:26:22/
文章来源:
西安建设局网站地址,曲靖做网站需要多少钱,室内设计专业个人简历,中国进出口贸易官网具体思路
先设置画布的宽高#xff0c;再将每个图片整理成一个对象的数组通过某个方法传出合成后的base64 #xff08;1#xff09;、创建一个画布的类#xff0c;他的属性是canvas虚拟dom和ctx
#xff08;2#xff09;、构造器初始化convas对象、ctx、convas的宽高
…具体思路
先设置画布的宽高再将每个图片整理成一个对象的数组通过某个方法传出合成后的base64 1、创建一个画布的类他的属性是canvas虚拟dom和ctx
2、构造器初始化convas对象、ctx、convas的宽高
3、这个类应该有将配置的对象数组合成图片的方法和导出画布base64的方法
图片数组与画布格式
/画布的大小{bgWidth:画布的宽,bgHeight:画布的高} //图片的配置[{src:图片的base64,x:放入画布的x坐标,y:放入画布的y坐标,height:设置传入图片的高度,width:设置传入图片的宽度}]
创建实现功能的类
//将base64转成虚拟dom的功能function getImage(url){const imagenew window.Image()if(/^http/.test(url)){image.setAttribute(crossOrigin,anonymous)}image.srcurlreturn new Promise((resolve,reject){image.onloadfunction (){return resolve(image)}image.errorfunction (){return resolve(null)}})}class compoundImgs{canvas:anyctx:anyconstructor({bgWidth:number,bgHeight:number}){this.canvasdocument.createElement(canvas)this.canvas.widthbgWidththis.canvas.heightbgHeightthis.ctxthis.canvas.git Context(2d)}async run(imgConfigs){//获取Dom节点promise对象形成的数组const imgDomsPimgConfigs.map(async ({src}){const imgDom await getImage(src)return imgDom})//dom节点数组const imgElesawait Promise.all(imgDomsP)//遍历画图imgEles.map((ele,i){const {x0,y0,width0,height0}imgConfigs[i]if(ele){this.ctx.drawImage(ele,x,y,width,height)}})}//打印画布base64print(){return this.canvas.toDataURL()}}export default compoundImgs
使用方法
const mycanvasnew compoundImgs({ bgWidth:1080,bgHeight:1920})mycanvas.run([{src:图片A的base64x:A的x坐标,y:A的y坐标,height:A的高widthA的宽},{src:图片B的base64x:B的x坐标,y:B的y坐标,height:B的高widthB的宽}]).then((){console.log(mycanvas.print()})
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/81265.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!