怎样用js结合h5画出多头像组合头像

有时候,我们需要显示一个许多用户组合的一个头像,像扣扣的讨论组头像,微信的群头像,下面是一个简单的实现方法:

首先,获取你需要的头像图片地址,保存在一个对象里面,例如:

var data = [];  然后可以限定组合图片的最大个数,比如限定四个,那么久判断数据库里的图片个数是否大于4,如果大于4,那么就取前四个,如果不大于4,那么就取完。

随后,看注释:

var base64 = []; //用来装合成的图片

var c = document_createElement_x_x('canvas'); //创建一个canvas

var ctx = c.getContext('2d'); //返回一个用于在画布上绘图的2维环境

var len = data.length; //获取需要组合的头像图片的张数

var a = 0; //初始化需要组合头像的长度

var b = 0; //初始化需要组合头像的宽度

c.width = 290; //定义canvas画布的宽度

c.height = 290; //定义canvas画布的高度

ctx.rect(0, 0, c.width, c.height); //画矩形

ctx.fillStyle = '#fff'; //设置矩形颜色

ctx.fill(); //关闭并填充该路径

接下来就需要写一个function开始画:

function drawing(n){

        //参数n是传入的是数字,0表示画第一张图片,1表示第二张。在这里先根据不同的需求设置a,b的大小​,我在这里是4张图是极限,设置的是,n=0时a=b=40;n=1时a=150,b=40,n=2时a=40,b=150,n=3时a=b=150

​        if(n < len){ //当n<需要组合头像图片个数时就不再重复这个函数

                var img = new Image();​ //创建一个image对象

                img.src = data[n]; //将图片地址赋值给image对象的src

                img.onload = function(){ //图片预加载

                        ctx.drawImage(img, a, b, 100, 100); //在画布上绘制image对象的图片

                        drawing(n + 1); //再执行此函数

                }​

        }else{ //如果执行完了,也就是都画完了,就要显示画好的图像

                base64.push(c.toDataURL("image/jpg")); //将画好的图像放入base64对象

                //这里可以写一个返回这个对象,也可以把base64赋值给一个全局变量

        }

}​​

最后,执行这个function:

drawing(0);​

完成操作,在html页面中的img的src里面引用base64的值,就可以显示出来了,但是要注意,这段js要在html页面执行之前执行,不然显示不出来的哦

这是效果:

中间那个就是2张图合成的效果
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: uview头像裁剪的h5是一款非常实用的网页应用程序,它提供了一个简单而强大的工具,让用户可以轻松地对头像图片进行裁剪和编辑。这个应用程序使用H5技术,可以在任何设备上进行使用,同时也完美适配了手机和平板电脑等各种不同大小的屏幕。 使用uview头像裁剪的h5非常简单,用户只需要将需要编辑的图片上传到程序,然后对图片进行缩放、旋转、拖拽等操作,最终得到需要的裁剪结果。这个程序提供了多种裁剪比例和尺寸选项,让用户可以按照自己的需求进行精准的裁剪。同时,这个程序还提供了一系列的美化功能,如滤镜、调节亮度、对比度等,可以让头像图片更加美观。 总的来说,uview头像裁剪的h5是一款非常实用的工具,不仅功能齐全,而且使用起来也非常简单。对于需要进行头像裁剪和编辑的用户来说,这个程序绝对是一款不可缺少的工具。 ### 回答2: Uview头像裁剪是一款基于H5和Vue.js技术开发的在线头像裁剪工具。它可以实现在网页端方便地裁剪和调整用户上传的图片,适用于各种类型的Web应用程序。Uview头像裁剪提供了一系列的功能,包括头像上传、格式转换、裁剪和预览。它还提供了一个可定制的用户界面,使得用户可以选择自己的喜好来定制裁剪界面的颜色、样式和布局等。 使用Uview头像裁剪工具非常简单,只需要在页面引入相关的js和css文件即可。用户可以启动裁剪工具并上传待处理的图片,然后通过手动调整裁剪框的大小和位置来确定裁剪区域。裁剪后的头像可以实时预览,并可以通过工具栏的按钮来进行旋转、缩放和拖拽等操作。一旦用户确定了头像的最终裁剪结果,就可以获取图片的base64编码或者上传到服务器进行进一步的处理。 总的来说,Uview头像裁剪是一款非常实用的H5工具,它可以帮助Web应用程序轻松实现头像裁剪功能,提高用户的体验和产品的交互性。 ### 回答3: Uview头像裁剪的H5是一种基于网页技术的头像裁剪工具,它的前端技术依托于HTML、CSS和Javascript,广泛应用于移动端和PC端。Uview头像裁剪的H5具有快捷、简单、易用和高效的特点,可以满足用户对头像裁剪的各种需求。用户可以选择上传本地图片或拍照,自由调整裁剪框位置和大小,支持缩放、旋转和水平翻转等功能,方便用户裁剪出理想的头像,同时还提供了丰富的模板和样式,以及多种输出格式和尺寸,能够满足不同业务场景的需求。 使用Uview头像裁剪的H5,用户可以在网页端将需要裁剪的头像图片上传到服务器,然后通过Uview头像裁剪的算法来对头像进行裁剪和处理,最终输出需要的头像文件,让用户可以方便地将其作为社交平台头像、微信头像、企业联系方式等用途。同时,Uview头像裁剪的H5使用了大量的优化技术,比如说压缩、缓存和CDN加速等,以保证页面的加载速度和用户体验,并且提供了丰富的API和插件,方便开发者进行二次开发和定制。 总的来说,Uview头像裁剪的H5结合了HTML、CSS和Javascript的精华,将用户的需求和技术的优势完美地结合在一起,为用户提供了一款优秀的头像裁剪工具,成为了头像处理领域的佼佼者。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值