html5设置图片大小_HT for Web基于HTML5的图像操作(二)

本文探讨了使用HTML5 Canvas的globalCompositeOperation属性,通过'multiply'和'destination-atop'实现图像染色的效果。对比了这种方法与getImageData和setImageData函数的性能,发现前者在Chrome浏览器下性能优势明显,原因是浏览器底层可能利用GPU加速。同时预告了下篇将介绍基于WebGL的Shading Language进行像素操作。
摘要由CSDN通过智能技术生成

上篇介绍了HT for Web采用HTML5 Canvas的getImageData和setImageData函数,通过颜色乘积实现的染色效果,本文将再次介绍另一种更为高效的实现方式,当然要实现的功能效果是完全一样的。这次我们依然基于HTML5技术,但采用Canvas的globalCompositeOperation属性进行各种blending效果:

6ed5ecfd50eaee3cf4c69804231e079b.png

我们采用“multiply”和“destination-atop”这两种blending效果,通过以下三个步骤实现:

1、先以染色颜色填充图片大小的矩形区域

2、采用“multiply”进行drawImage的绘制,达到以下效果

1a861daa4c46426a4567f5e9c2bfea55.png

3、最后一步采用“destination-atop”的globalCompositeOperation方式,再次drawImage,这次绘制效果将会抠出图片像素区域,剔除非图片部分,最终达到我们所要的染色效果图片:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值