SuperAPI AI 工具集

pixijs-color

设计与创作

查看项目

更新于 10-16 03:42

技能介绍

用途:在 PixiJS v8 中创建、转换和操作颜色,用于 tint、填充、描边等任何接受 ColorSource 的场景。多数 API 可直接接受十六进制或字符串,仅在需要转换格式或计算颜色值时显式使用 new Color(...)。

主要能力:支持多种输入格式,包括十六进制整数与字符串(如 0xff0000、"#f00"、"ff0000"、带 alpha 的 "#f00f")、CSS 颜色名与 rgb/rgba/hsl 字符串、RGB/RGBA 对象(分量 0-255)、HSL/HSLA、HSV/HSVA 对象、归一化 0-1 数组(number[] 与 Float32Array)、Uint8Array/Uint8ClampedArray,以及从另一个 Color 实例复制。

转换与访问:提供 toHex、toHexa、toNumber、toArray、toRgbArray、toRgbaString、toRgba、toRgb、toUint8RgbArray 等方法;组件 red/green/blue/alpha 均返回归一化 0-1 值。setValue 可链式设置颜色值。

操作与性能:setAlpha 可设置透明度;multiply 与 premultiply 会就地修改颜色并丢失原格式;toPremultiplied(alpha, applyToRGB?) 非破坏性返回 0xAARRGGBB 整数。toBgrNumber 与 toLittleEndianNumber 输出 24 位交换整数,适合写入 GPU 顶点缓冲。转换方法可传入可复用缓冲区以避免每帧分配;Color.shared 是单例,适合热路径中的临时转换,但不可长期持有引用。Color.isColorLike() 仅做结构判断,不校验字符串是否为真实 CSS 颜色名或数组值是否越界。

常见限制:RGB 对象输入使用 0-255,但 toRgba()/toRgb()/toArray()/toRgbArray() 输出均为 0-1,需要 0-255 整数时用 toUint8RgbArray()。普通数字数组与 Float32Array 按归一化 0-1 解释,0-255 输入需用 Uint8Array 或 Uint8ClampedArray。v8 已移除 utils 命名空间,颜色转换统一使用 Color 类。相关技能:pixijs-scene-graphics、pixijs-scene-sprite、pixijs-blend-modes。