我想將藝術資產的色調從一種明亮的顏色調整到另一種顏色,保持單色功能的完整。我將以RGBYTP(紅色,綠色,藍色,黃色,藍綠色或紫色)顏色開始;然後通過色調調整,我將能夠使它看起來像其他RGBYTP彩色圖像中的每一個。你如何像真正的色輪那樣調整AS3中的色調?
例如,採取這些有色眼球中的任何一個,並通過AS3色調調整,可以使任何這些其他有色眼球。網頁/遊戲設計中的常用技巧。
eyeballs http://quadradius.com/stuff/RandomImagesForLinking/hue-adjusted-eyeballs.jpg
我經常用使用GreenSock動畫平臺(TweenLite的/ TweenMax),但兩者的核心AS代碼和TweenLite的發動機似乎並不如我所料處理色調。我想以60度的增量調整色調色輪,這應該很好地調整所有6種二次色,並從中獲得完整的色彩效果。但我實際上得到的是可怕的。實際上,調整RGBYTP顏色的色調會返回非常奇怪的結果;土色調,粉彩,甚至灰色陰影。
bad-hues http://quadradius.com/stuff/RandomImagesForLinking/6-colors-all-hue-adjusted.jpg
下面是我用它來生成所有這些圈子的代碼。
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的/最高不能處理,如Photoshop或藝術家色輪的色彩?我究竟做錯了什麼?
Flash僅支持RGB和ARGB色彩格式。你需要循環通過色調,並將其轉換爲RGB格式,然後再應用它 - 谷歌搜索應該提供一些算法來轉換 – 2013-01-06 00:07:04
我已經使用了許多人認爲是一個很好的算法包; GreenSock平臺。它用於補間,轉換,定時器和顏色操作;幷包含「色調」功能。但即使是他們可以說是受人尊重的色調功能似乎也沒有結果。該算法的結果在包含圓圈的圖像中。例如,如果你從紫色開始,你永遠不會產生黃色。 –