小白也能秒懂:Canvas全局透明度globalAlpha实战指南(附避坑技

Canvas globalAlpha 透明度属性详解:从原理到避坑实战 在Web前端开发中,Canvas作为HTML5的核心绘图API,广泛用于数据可视化、游戏渲染与动态交互。透明度控制是影响视觉效果和用户体验的关键技术,Canvas提供了颜色Alpha通道与全局状态globalAlpha等多种处理方式。理解globalAlpha的工作原理,有助于开发者高效管理图形层次与混合效果。该属性以全局状态作用于后续所有绘制操作,并与颜色附加Alpha相乘,决定最终输出透明度。在动画场景中,配合requestAnimationFrame可实现平滑的淡入淡出、粒子系统及鼠标光晕效果;同时需 阅读详情

小白也能秒懂:Canvas全局透明度globalAlpha实战指南(附避坑技巧)

引言:别被“透”支配的恐惧

前阵子公司做大屏,产品小姐姐甩过来一张 UI:
“就按这个来,背景要那种若隐若现的科技感。”
我瞄了一眼,心想不就是半透明吗,十行代码搞定。结果当晚我盯着浏览器怀疑人生——为啥我画的网格老是透得跟丝袜一样?改 fillStyle、改 opacity、甚至给 canvas 加 CSS 透明度,全翻车。凌晨两点,我在群里哀嚎:“这破 canvas 咋就听不懂人话?”
直到老大淡淡甩了一句:“你先看看 globalAlpha 是不是被前任写成 0.1 没恢复。”
我???
原来这玩意儿就是 canvas 界的“隐形房东”,你不打招呼它就偷偷把整层房客全染成玻璃人。今天咱们就把这位房东扒个底朝天,顺带把我踩过的坑全给你铺好,保你以后画图不再“透”彻心扉。

Canvas 透明度到底跟 DOM 有啥血海深仇?

先放一句话:在浏览器里,CSS 的 opacity 是“美颜相机”,canvas 的 globalAlpha 是“雾霾警报”。
DOM 元素只要一个 opacity:0.5,它自己和所有娃全部变半透明,层级、事件、动画都继续嗨。
canvas 里可没这好事儿。canvas 是“位图黑洞”,一旦画下去就是像素,回头想改?只能重画!所以 canvas 搞了两套透明机制:

  1. 全局的 globalAlpha——“环境雾霾”,画一笔算一笔,全都带雾。
  2. 局部的 paintStyle——“局部遮瑕”,只影响当前这条命令,比如 fillStyle=‘rgba(255,0,0,0.3)’。

如果你把两者混着用,恭喜,你将喜提“我明明设置了 0.3 为啥看起来像 0.03”的玄学体验。下面咱们挨个拆。

globalAlpha 到底是啥?一句话讲清

官方文档说:
“globalAlpha = number between 0 and 1,default 1.”
翻译成人话:
它就是一只看不见的手,每一帧绘图命令执行前,都会先被这只手撸一遍——像素颜色先乘以 alpha,再盖到画布上。
注意,是“每一帧命令”!这意味着:

  • 你画 100 个圆,它撸 100 次;
  • 你画文字、画图片、画路径,全都撸;
  • 撸完还不告诉你,转头就忘,除非你手动改回来。

所以,它更像“状态机”而不是“属性”。状态机最怕啥?忘!了!恢!复!

最简 Demo:画俩矩形,一个实的一个“虚”的

<canvas id="c" width="300" height="200"></canvas>
<script>
  const ctx = c.getContext('2d');

  // 先画个实心红块
  ctx.fillStyle = 'red';
  ctx.fillRect(20, 20, 80, 80);

  // 把 globalAlpha 调成 0.4,再画个蓝块
  ctx.globalAlpha = 0.4;
  ctx.fillStyle = 'blue';
  ctx.fillRect(120, 20, 80, 80);

  // 忘了恢复?下面再画文字也透
  ctx.fillStyle = '#000';
  ctx.font = '20px sans-serif';
  ctx.fillText('我咋也透了?', 20, 140);
</script>

运行结果:文字自带 0.4 透明,因为 globalAlpha 还是 0.4。
把代码最后一行之前加一句 ctx.globalAlpha = 1; 再看,文字瞬间精神。
这就是最经典的“忘了关门”现场,群里每天有人中招。

实战套路一:save & restore——“状态回档”神器

上面那种“手动关门”太反人类,canvas 早就给了快捷键:ctx.save() 和 ctx.restore()。
save 会把当前所有绘图状态(alpha、fillStyle、strokeStyle、线宽、阴影、裁剪区等)压栈;restore 弹出。
改写一下:

// 画蓝块之前存档
ctx.save();
ctx.globalAlpha = 0.4;
ctx.fillStyle = 'blue';
ctx.fillRect(120, 20, 80, 80);
ctx.restore();   // 一出栈,alpha 自动回 1

// 画文字时就是完全不透
ctx.fillText('这次我不透了', 20, 140);

友情提示:save/restore 可以嵌套,但别疯狂套娃,性能掉得比发量还快。一般建议:
“一个功能块一次 save/restore”,比如画水印、画遮罩、画粒子层,各玩各的。

实战套路二:globalAlpha vs rgba()——到底谁听谁的?

很多人懵:“我都 rgba(0,0,0,0.5) 了,还要 globalAlpha 干嘛?”
来,做个实验:

ctx.globalAlpha = 0.5;
ctx.fillStyle = 'rgba(0,0,0,0.5)';
ctx.fillRect(0, 0, 100, 100);

最终 alpha 是多少?
答案是:0.5 * 0.5 = 0.25。
canvas 在填充前会先把颜色拆成 R/G/B/A,再乘以 globalAlpha。
所以:

  • 只想单图形透明 → 用 rgba 就够;
  • 想批量给一堆元素统一降透明 → 用 globalAlpha 省代码;
  • 两者一起用 → 你就得乘法口诀背牢。

实战场景 1:渐隐动画——“淡入淡出”如此丝滑

需求:一个 200×200 的图,从 0 透明度拉到 1,持续 1 秒,循环往复。
思路:

  1. 用 requestAnimationFrame 驱动;
  2. 每帧先清空画布;
  3. 根据进度算 globalAlpha;
  4. 画图片;
  5. 循环。
const img = new Image();
img.src = 'kunkun.png'; // 任意本地图
img.onload = () => animate();

let start = 0;
function animate(ts) {
  if (!start) start = ts;
  const progress = (ts - start) % 1000 / 1000; // 0~1
  const phase = Math.sin(progress * Math.PI);  // 先升后降
  ctx.clearRect(0, 0, c.width, c.height);
  ctx.save();
  ctx.globalAlpha = phase;
  ctx.drawImage(img, 50, 50, 200, 200);
  ctx.restore();
  requestAnimationFrame(animate);
}

注意:

  • 一定要 clearRect,否则上一帧残影让你怀疑人生。
  • 图片加载完再动画,不然第一帧空图直接社死。

实战场景 2:水印叠加——“低调炫富”

需求:右下角 30% 透明文字水印,不随内容刷新而闪烁。
套路:

  1. 单独开一个 offscreenCanvas(内存画布),一次性画好水印;
  2. 主画布每帧直接 drawImage(offscreen, 0, 0)。
// 1. 先整内存画布
const water = document.createElement('canvas');
water.width = 200;
water.height = 80;
const wctx = water.getContext('2d');
wctx.globalAlpha = 0.3;
wctx.fillStyle = '#fff';
wctx.font = '16px sans-serif';
wctx.fillText('@前端冠希', 20, 50);

// 2. 主画布循环里直接贴图
function drawMain() {
  ctx.clearRect(0, 0, c.width, c.height);
  /* 画你的各种图表 */
  // 最后贴水印,坐标自己算
  ctx.drawImage(water, c.width - 220, c.height - 100);
}

这样做的好处:

  • 水印只生成一次,不占主线程;
  • 主画布随便刷新,水印稳如老狗;
  • 想改透明度?改 offscreen 里的 globalAlpha 就行,主画布无感。

实战场景 3:蒙层遮罩——“除了中间全黑”

需求:点击按钮弹出弹窗,背景 canvas 变暗,但中间留一个圆形洞口高亮。
思路:

  1. 先正常画你的内容;
  2. save 后设置 globalAlpha = 0.6;
  3. 用复合路径:外框矩形 + 中间圆,调用 fill('evenodd');
  4. restore。
function drawMask(cx, cy, r) {
  ctx.save();
  ctx.globalAlpha = 0.6;
  ctx.fillStyle = '#000';
  // 开始路径
  ctx.beginPath();
  // 先外框,顺时针
  ctx.rect(0, 0, c.width, c.height);
  // 再圆洞,逆时针
  ctx.arc(cx, cy, r, 0, Math.PI * 2, true);
  ctx.fill('evenodd');
  ctx.restore();
}

注意:

  • 圆洞必须逆时针,否则 evenodd 不生效;
  • 如果懒得算方向,直接用 globalCompositeOperation = 'destination-out' 也行,但那就是另一个话题了。

踩坑合集:我替你躺过的雷

  1. 设置了 globalAlpha 没反应?
    八成是你先画的背景,后设的 alpha。记住:状态机只对“之后的命令”生效。
  2. 文字发虚?
    透明度过低 + 字体小,抗锯齿直接糊成一片。要么提高 alpha,要么放大字体,无解。
  3. 用了 save 还没恢复?
    检查是不是提前 return 了,比如图片没加载完就 return,restore 没执行,栈乱了,后面全崩。
  4. 性能突然掉帧?
    在循环里疯狂 save/restore,每帧 200 次,GPU 直呼内行。换成手动 alpha 或者分层 canvas。
  5. 导出 base64 背景全黑?
    toDataURL 不会把 CSS 背景带上去,如果你把 alpha 设成 0 再去 toDataURL,那结果就是一片透明黑。先画个白底再导出。

调试小妙招:console 一眼看穿

  1. 彩虹条调试法
    画一条彩虹渐变矩形,每格 10% 透明度,肉眼对比你的图形落在哪一格,就能反推当前 alpha。
  2. 像素拾色器
    ctx.getImageData(x, y, 1, 1).data 拿到 [R,G,B,A],如果 A 值比你预期的小,那一定是 globalAlpha 在搞鬼。
  3. 逐帧录像
    Chrome DevTools → Rendering → FPS meter → 勾选“Capture screenshots”,回放时一帧一帧看,透明突变瞬间无所遁形。

开发效率小技巧

  • 临时关闭所有透明:在循环入口 ctx.globalAlpha = 1; 一刀斩,快速排除透明问题。
  • 批量画同透明元素:先设一次 globalAlpha,for 循环画 1000 个粒子,再 restore,比每条命令都 rgba 快 30%。
  • 用 OffscreenCanvas:在 WebWorker 里预渲染带透明度的图层,主线程只负责合成,UI 线程不卡。
  • 颜色混合偷懒:想搞“半透明红色 + 半透明蓝色 = 紫色”?记得 ctx.globalCompositeOperation = 'lighter',再分别画,就不用自己算 RGB。

隐藏彩蛋:globalAlpha + globalCompositeOperation 混合双打

举个骚操作:
需求——“鼠标擦除”蒙版,擦过的地方变透明,看到下层视频。
思路:

  1. 上层 canvas 盖在 video 上;
  2. 全局 alpha 0.8,先画黑幕;
  3. 合成模式改成 destination-out;
  4. 鼠标移动时画粗线,线经过的地方直接“挖空”。
ctx.save();
ctx.globalAlpha = 0.8;
ctx.fillStyle = '#000';
ctx.fillRect(0, 0, c.width, c.height);
ctx.globalCompositeOperation = 'destination-out';
ctx.globalAlpha = 1; // 挖洞不需要透明
ctx.lineWidth = 40;
ctx.lineCap = 'round';
ctx.beginPath();
ctx.moveTo(lastX, lastY);
ctx.lineTo(e.offsetX, e.offsetY);
ctx.stroke();
ctx.restore();

视频瞬间露出,鼠标变成橡皮擦,小姐姐惊呼“这效果 TikTok 见过!”

结语:globalAlpha 不是洪水猛兽,只是忘了自我介绍

当年我要是有人把这篇甩脸上,也不至于凌晨两点对着 MDN 爆哭。今天哥把锅都替你背了,代码直接复制就能跑。
下次再遇到“为啥我画的图透得跟丝袜一样”,别慌,先打一行 console.log(ctx.globalAlpha),然后按部就班:
save → 设 alpha → 画 → restore。
把这四步背成肌肉记忆,你就从“透明小倒霉”升级成“alpha 大魔王”。
好了,板砖扔完,我去修 BUG 了,祝你画图不再“透”心凉!

在这里插入图片描述

HTML5 Canvas 绘图方法整理 【十七、Canvas透明度 / 图形叠加、层次、冲突】 Canvas 设置透明度 : 语法: ctx.globalAlpha= 属性值; 属性值是 0 - 1之间的数字。 同CSS一样的透明度属性值 不过fillStyle 或 strokeStyle 本身也可以自己设定透明值, 所以用到globalAlpha 并不多, 不过还是了解下,谁知道哪天会有什么反人类的要求会用到呢 (。・・)ノ &lt;... 阅读详情

相关推荐

canvas设置全局透明度globalAlpha(图文示例)

如何设置canvas的全局透明度呢?通过globalAlpha设置就可以。`context.globalAlpha = value`;其中value就是设置的全局透明度,范围是0到1,范围以外的值会被忽略。使用globalAlpha设置透明度之后都是需要再进行还原设置的,而直接使用RGBA或者HSLA色值则没有这样的重置操作。

大剑师兰特的GIS世界 2199

Canvas 设置全局透明度 GlobalAlpha

它不仅能够为图形添加透明度,还能够与其他属性和技术相结合,创造出更加丰富多彩的视觉效果。希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。小于 1 时,所有绘制的内容都会按照该值的透明度进行混合,其中 0 表示完全透明,1 表示完全不透明。一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身农奴把歌唱,在实际开发中,我们可能会遇到一些特定的需求,比如创建模糊效果或者渐变透明度的动画。属性,它可以用来设置绘制时的整体透明度。

一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身"农奴"把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞谋福祉,坚决抵制睿智产品折磨我们码农兄弟! 1738

基于强化学习框架的交易策略学习过程

每个状态s∈S 是一个由六个微观结构特征构成的向量,这些特征反映了当前市场的订单簿状态和近期交易行为。

xu624735206的博客 1110

globalAlpha:深入解析Canvas中的全局透明度

是Canvas开发中非常重要的一个属性,它不仅能够为图形添加透明度,还能够与其他属性和技术相结合,创造出更加丰富多彩的视觉效果。希望本文能帮助你在项目中更加灵活地运用这一功能。

1225

Android malloc_debug实现原理及使用

2)设置 __libc_globals 对象中的 libc_globals.default_dispatch_table 和 current_dispatch_table 指向 malloc_dispatch_table,以后在 malloc 库函数里都会通过 GetDispatchTable(),这个函数就是返回的 current_dispatch_table 指针;MAX_FRAMES 表示被抓取的 frames 的数量,如果设为0, 表示在分配空间被释放时,不会抓取任何调用栈。

专注于系统快稳省领域 3739

Jetson AGX ORIN硬件初始化和环境部署

orin预安装了ubuntu20.04,只需开机,像重装系统一样设置用户信息即可,可以参考官网的教程[https://developer.nvidia.com/embedded/learn/get-started-jetson-agx-orin-devkit],官网提供了两种方式:一种是orin + 显示器,orin有提供DP接口,你需要准备一台显示器,最好也是有DP口的,因为我用DP转HDMI的连的,分辨率会受影响。确认安装的路径,一般直接回车安装在默认的 /home/你的名字/anaconda3。

TracyGC的博客 3831

Canvas基础篇:图形透明度globalAlpha

本文主要介绍了如何通过`globalAlpha`给图形设置透明度

wuhen_n的博客 980

鸿蒙OS开机动画背后的秘密:从代码到视觉的完整解析(附源码分析)

本文深入解析了鸿蒙OS开机动画的系统级实现原理。从bootanimation服务的启动配置、与Render Service的协同,到基于VSync信号的帧率同步与绘制流水线,结合OpenHarmony源码进行了逐行解读。文章揭示了其事件驱动的优雅退出机制,并探讨了视频支持、多屏适配等高级特性与定制化可能,为开发者理解鸿蒙图形子系统提供了硬核技术视角。

sony5的博客 969

canvas中globalAlpha无效的问题

canvas中的globalAlpha属性用来设置全局的透明度,但是下面的代码显示出来的确有一个元素(圆圈)的透明度没有改变,如图 var ctx = canvas.getContext('2d'); for(let i = 0; i< 10; i++){ for(let j = 0; j< 10; j++){ ctx.fillStyle = 'rgb(' + Math.flo...

Hey firefly 1528

金融学习之十三——数据去极值和标准化处理

拿到数据后,数据中可能会存在一些超大或极小的值,这些值与其他的值离得较远,显得格格不入,我们称其为离群点,有时也称为异常点。对于这些值,它的存在会导致影响最终的分析结果,带偏我们的分析。举个简单的例子,10个人的收入分别为2000,2500,2300,2425,2512,2375,2700,2265,2345,10000000,只算前9个,平均值就是2380,但加上最后一个,平均值就是1002144.2,就可能严重带偏最后分析的结果。因此,对于这样的数据,我们需要将其去除或修改。 (一)数据去极值 数据去极

ryo007gnnu的博客 7166

鸿蒙系统开发工程师:核心技术解析与深度面试指南

摘要: 鸿蒙系统开发工程师需具备底层驱动开发、系统移植优化及分布式架构能力。核心职责包括硬件适配(Bootloader、内核移植、HDF驱动开发)、性能调优(启动加速、功耗管理)及稳定性保障。技术要求涵盖C/C++编程、Linux内核机制、鸿蒙架构(HDF、分布式服务)及ArkTS/ArkUI基础。面试重点考察系统移植流程(如ARM板适配)、驱动开发(I2C/Display)、性能优化手段及内存/同步机制的应用。

郑伟强dev的专栏 429

canvas笔记-globalAlpha和globaleCompositeOperation的使用

如下代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <canvas id="canvas" style="border: 1px solid #aaa; display: block; margin: 50px auto;"&gt

IT1995的博客 1584

SwinTransformer 改进:SSPCAB模块(2024最新改进方法)

SSPCAB(Spatial Pyramid Pooling with Channel Attention Block)是2024年提出的一种新型神经网络架构改进方法,专注于在保持高精度的同时显著降低计算复杂度和参数量。该方法通过创新的空间金字塔池化与通道注意力机制的结合,实现了网络结构的紧凑化和运算效率的大幅提升。核心创新点1. 混合空间金字塔池化(Hybrid Spatial Pyramid Pooling, HSPP)多尺度动态核池化:根据输入特征图尺寸动态调整池化核大小和步长交叉级联结构。

Henry的博客 1305

Canvas之globalAlpha和globalCompositeOperation

Canvas之globalAlpha和globalCompositeOperation前言一、区别二、使用方法1.globalAlpha2.globalCompositeOperation总结 前言 这里为Canvas画布的补充,是关于画布元素透明度的两个属性的用法和区别 一、区别 golbalAlpha 是使全局具有透明度 globalCompositeOperation 是渲染绘制的图像在重叠时的效果 globalAlpha = 1; globalCompositeOperation = "

yunmegnze的博客 506

Unreal5从入门到精通之如何实现移动端触屏滑动手势

随着移动设备的普及,越来越多的游戏和应用选择在移动平台上发布。Unreal Engine 5(UE5)作为一款强大的游戏引擎,提供了丰富的工具和功能,帮助开发者打造出色的移动体验。UE5不仅提升了图形质量,还大幅简化了开发流程,使得开发者能够更专注于游戏设计和用户体验。在移动游戏中,触屏滑动手势是用户与应用互动的主要方式之一。然而,许多开发者在实现这些功能时常常遇到困难。为了填补这一知识空白,本篇文章将详细介绍如何在UE5中实现移动端触屏滑动手势,帮助你从入门到精通,提升你的开发技能。

TxNet 1133

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

canvas学习笔记-透明度

在上面画一系列半径递增的半透明圆。圆叠加得越多,原先所画的圆的透明度会越低。通过增加循环次数,画更多的圆,从中心到边缘部分,背景图会呈现逐渐消失的效果。方法类似,就多了一个用于设置色彩透明度的参数。它的有效范围是从 0.0(完全透明)到 1.0(完全不透明)。里所有图形的透明度,有效的值范围是0.0(完全透明)到1.0(完全不透明),默认值是1.0。第二个例子和上面的那个类似,不过不是画圆,而是画矩形。可以分别设置轮廓和填充样式,因而具有更好的可操作性和使用灵活性。

Joyce的博客 2822

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

canvas覆盖合成&全局透明度设置

全局透明度的设置 ​ globalAlpha = value ​ 这个属性影响到 canvas 里所有图形的透明度, ​ 有效的值范围是 0.0 (完全透明)到 1.0(完全不透明) ​ 默认是 1.0 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> *{

nicecode 703

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Canvas透明度控制指南:从globalAlpha到rgba与混合模式的完整实践

在Web前端开发中,Canvas绘图是高频使用的技术,而控制图形、文字与图片的透明度更是工程实践中的常见需求。透明度的实现方式并非只有一种,理解全局透明度与局部透明度的差异,是避免绘制状态混乱的关键。Canvas 2D上下文提供了globalAlpha这样的全局开关,也支持通过rgba()对单个对象进行精细控制,甚至能借助globalCompositeOperation实现混合与擦除效果。本文从透明度混合的数学原理讲起,剖析状态管理、叠加变深、动画残影等典型问题,并结合淡入淡出、粒子轨迹、半透明水印等实战案

weixin_32349561的博客 277

canvas的全局透明度和覆盖合成

全局透明度的设置 globalAlpha = value 这个属性影响到 canvas 里所有图形的透明度, 有效的值范围是 0.0 (完全透明)到 1.0(完全不透明) 默认是 1.0 覆盖合成 这里的source指的是:新的图像(源) 这里的destination指的是:已经绘制过的图形(目标) globalCompositeOperation source-over(默认值):源在上面,...

weixin_43269800的博客 991

从零开始学习在VUE3中使用canvas(四):globalAlpha(全局透明度)

本文介绍了在canvas中使用全局透明度来实现canvas的透明效果

qq_45820271的博客 1100

36 canvas全局透明度&覆盖合成

36 canvas全局透明度&覆盖合成 1 全局透明度 语法 globalAlpha = value 这个属性影响到 canvas 里所有图形的透明度, 有效的值范围是 0.0 (完全透明)到 1.0(完全不透明) 默认是 1.0 示例 <head> <meta charset="UTF-8"> <title>23_全局透明度</title> <style> #test{ positio

丨Anna丨的博客 548

Canvas globalAlpha透明度属性(转)

globalAlpha function draw() { var cxt = document.getElementById("myCanvas").getContext("2d"); cxt.fillStyle="#FD0"; cxt.fillRect(0,0,75,75); cxt.fillStyle="#6C0" cxt.fillRect(75,0,75,75); cxt

dragoo1的专栏 6551

HTML 5 canvas globalAlpha 属性

HTML 5 canvas globalAlpha 属性 定义和用法 globalAlpha 属性设置或返回绘图的当前透明值(alpha 或 transparency)。 globalAlpha 属性值必须是介于 0.0(完全透明) 与 1.0(不透明) 之间的数字。 默认值: 1.0 JavaScript 语法: co

ssisse的博客 1137

H5 canvas的globalAlpha属性

定义:globalAlpha 属性值必须是结余0.0(完全透明)与1.0(不透明)之间的数字 JS语法:context.globalAlpha =number 例如: var radious = 0; var draw = function () { context.clearRect(0, 0, 200, 200) context.globalAlpha = (context.globalAlpha - 0.01 + 1) % 1; radi

boonyaxnn的博客 625

全局阿尔法 globalAlpha

globalAlpha : 设置整个 Canvas 透明度的基数; 如果再设置透明度会在该基础上乘以设置的透明度 context.globalAlpha = 0.5; context.fillStyle = "rgba(255,0,0,0.75)";//实际透明度 0.5*0.75 context.fillRect(100,100,200,100);  ...

未玄的博客 1867
上一篇: Canvas变换总歪?一招搞定中心点偏移问题(附实战技巧)
下一篇: 前端打工人必看:用 measureText 精准拿捏 Canvas 文字宽度(附避
master_chenchengg
博客等级 码龄2年 1万+粉丝 1485原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值