【 可视化】热力图绘制原理

本文详细介绍了热力图的绘制原理,包括透明度的概念、透明度叠加的计算方法,以及热力图如何利用透明度和颜色渐变在canvas上进行渲染。通过示例代码展示了如何使用canvas创建渐变色并实现边缘模糊效果,提供了一个基于此原理的热力图Demo。
摘要由CSDN通过智能技术生成

网上那些炫酷的热力图是如何绘制的? 相信你也很好奇,本文将以 canvas 作为绘图示例来讲解热力图的原理。

透明度

我们经常遇到透明度的概念,如 CSS 中的 opacity 属性、rgba 颜色中的 alpha 变量、canvas 中的 globalAlpha 属性等。

它们的取值范围一般是 0-1 之间,0 表示完全透明,1 表示不透明,值越小,越透明。

透明度叠加

思考一个问题: 透明度为 0.2 的矩形跟透明度为 0.6 的矩形叠加后的透明度为多少?

结果可以看以下示例,通过 canvas 的 getImageData 方法输出了叠加后的透明度(值除以 255 即可)

See the Pen canvas-opacity by linghuam (@linghuam) on CodePen.

很多人的第一感觉也许是 0.8,其实这是一种想当然的理解。正确的思路如下:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值