我想将艺术资产的色调从一种明亮的颜色调整为另一种,保持单色特征不变。我将从 RGBYTP(红色、绿色、蓝色、黄色、蓝绿色或紫色)颜色开始;然后通过色调调整,我将能够使它看起来像其他RGBYTP彩色图像中的每一个。
例如,取其中任何一种颜色的眼球,通过AS3的色调调整,就可以制作出其他颜色的眼球中的任何一种。网页/游戏设计中的常用技术。
(来源:quaradius.com)
我经常使用 GreenSock 动画平台 (TweenLite/TweenMax),但核心 AS 代码和 TweenLite 引擎似乎都没有像我预期的那样处理色调。我想以 60 度的增量调整色调色轮,这应该可以很好地调整所有 6 种二次色,并从中获得浓郁的颜色结果。但我实际得到的是可怕的。事实上,调整 RGBYTP 颜色的色调会返回非常奇怪的结果。大地色系、柔和色调,甚至灰色调。
(来源:quaradius.com)
这是我用来生成所有这些圆圈的代码。
for (var j:int = 0; j < 6; j++) {
for (var i:int = 0; i < 7; i++) {
var sprite:Sprite = new Sprite();
var baseColor:uint;
if (j == 0) baseColor = 0xFF0000;
if (j == 1) baseColor = 0x00FF00;
if (j == 2) baseColor = 0x0000FF;
if (j == 3) baseColor = 0xFFFF00;
if (j == 4) baseColor = 0xFF00FF;
if (j == 5) baseColor = 0x00FFFF;
sprite.graphics.beginFill(baseColor);
sprite.graphics.drawEllipse(40 * i + 10, 300 + (60 * j) + 10, 40, 40);// positioning
addChild(sprite);
TweenMax.to(sprite, .5, {colorMatrixFilter:{hue:i * 60 }} );
}
}
为什么 AS3 或 TweenLite/Max 不能像 Photoshop 或艺术家色轮那样处理色调?我究竟做错了什么?