2023年微信小程序API 绘图·globalCompositeOperation
什么是canvasContext.globalCompositeOperation?
canvasContext.globalCompositeOperation是微信小程序API中的一种绘图属性,在基础库1.9.90版本起开始支持,它用于设置在绘制新形状时需要应用的合成操作类型。
如何使用canvasContext.globalCompositeOperation?
通过type参数传入所需的操作类型即可使用,type支持的操作有:
- xor:异或合成
- source-over:在目标图像上显示源图像
- source-atop:在目标图像顶部显示源图像,其他部分则会变为透明
- destination-out:目标图像中与源图像重叠的部分变为透明,但不影响源图像
- lighter:将源图像与目标图像相加,使得看起来比原来更亮
- overlay:覆盖合成,在进行此操作后,源图像会变暗,而目标图像会变亮
- darken:只有源图像和目标图像交集处的颜色才会保留,其他部分变黑色
- lighten:只有源图像和目标图像交集处的颜色才会保留,其他部分变白色
- hard-light:颜色加深和变亮的混合模式,具体效果取决于源图像
- multiply:正片叠底,将每个像素的颜色值乘以目标图像相应像素的颜色值
- destination-over:在源图像顶部显示目标图像,其他部分则会变为透明
- color-dodge:只有源图像与目标图像重叠处才保持原色,其他部分减轻曝光度
- color-burn:深色烧焦,降低源图像某些区域的曝光度,以增强目标图像
- soft-light:光滑减淡,根据源图像中颜色的程度和目标图像产生不同程度的颜色反差
- difference:差异合成,将源图像颜色值减去目标图像颜色值的绝对值,并通过160来调整结果
- exclusion:排除合成,在源和目标图像中没有重叠的地方显示出来,黑色区域没有反应,白色区域则完全反转
- saturation:饱和度
- luminosity:亮度
常用的操作类型
1. source-over
source-over
是默认的操作类型,这意味着新的形状将绘制在之前的形状上方。下面是一个实现这个效果的例子:
// 在画布上创建两个矩形
context.beginPath();
context.fillStyle = 'red';
context.fillRect(10, 10, 50, 50);
context.fillStyle = 'blue';
context.fillRect(30, 30, 50, 50);
// 绘制橙色矩形,在前面两个矩形的顶部
context.beginPath();
context.globalCompositeOperation = 'source-over';
context.fillStyle = 'orange';
context.fillRect(20, 20, 50, 50);
以上代码会在最初绘制出红色和蓝色的两个矩形,并在其顶部
-
B2B2C多用户商城系统支持企业自营与商户入驻模式共存 会员一站式精细化营销工具 多用户分销,带来爆发式增长
系统支持平台自营+供应商店铺共存的经营模式(类天猫&京东模式),帮助企业打造生态级商业平台为目的的电子商务系统。
免费试用系统 -
B2B2B电商交易系统优化供应链协作 授信及账期支付 商品按照数量阶梯设价
全渠道订货/采购及经销商管理数字化系统,实现供应链整合和交易便捷化。
免费试用系统 -
S2B2B电商交易系统供销一体化,提高市场集中度 集团管控一体化,有效实现供需匹配 移动应用一体化,提高运营综合效率
上下游资源整合数字化解决方案,赋能产业供应链,构建产业互联网生态体系。
免费试用系统
