Flex RGB 顏色漸變

2022-02-22 12:01:38 字數 2491 閱讀 1162

以下是理論:

漸變(gradient)是美學中一條重要的形式美法則,與其相對應的是突變。形狀、大小、位置、方向、色彩等視覺因素都可以進行漸變。在色彩中,色相、明度、純度也都可以產生漸變效果,並會表現出具有豐富層次的美感。本文主要講述兩種顏色rgb數值的漸變演算法。

已知:a=50,b=200,a、b之間平均分成3份(step=3),求每份的數值(stepn)分別是多少。

公式:gradient = a + (b-a) / step * n

[注]程式設計時為了提高效率避免浮點運算,往往把除法放在最後面,這樣公式就成了:gradient = a + (b-a) * n / step

step=3時,根據公式可以求出step1=a+(a-b)/3*1=50+(200-50)/3=100,step2=a+(a-b)/3*2=50+(200-50)/3*2=150。這就是均勻漸變的演算法原理了,很簡單,小學知識。

兩種顏色的漸變就是對兩種顏色的rgb通道分別進行這樣的計算,例如兩種顏色分別是rgb(200,50,0)和rgb(50,200,0),用上述公式進行計算就是:

rstep1=ra=ra+(ba-ra)/step*n=200+(50-200)/3*1=200-50=150

gstep1=ga=ga+(ga-ga)/step*n=50+(200-50)/3*1=50+50=100

bstep1=ba=ba+(ba-ba)/step*n=0

因此rgbstep1=(150,100,0),同樣的方法可以求出rgbstep2=(100,150,0)。

**中具體實現,我這裡用到的gis柵格話務量的渲染,共分為5漸變種顏色,根據柵格的話務量進行分級,然後根據話務量大小去漸變顏色

效果圖如下,由於只是部分測試資料,所以效果不是很明顯,在全柵格渲染的時候,看起來還是不錯的,目前只有0~157的話務量看起來比較明顯了,這個也跟地圖底色的反差有關係:

漸變顏色LinearGradientBrush

lineargradientbrush是用來漸變效果的,使用的初始化引數是矩形區域,開始顏色,結束顏色,顏色變化方向,它能夠形成比較統一的漸變效果,對比pathgradientbrush的漸變,它的特點是它與周圍的顏色漸變頻率是一樣的,設定lineargradientbrush的區域大小時,可以想象...

css web 顏色漸變

ms的站確實不錯,有很多東西可以參考 這個漸變其實就是乙個css濾鏡而已。給引數介紹 filter progid dximagetransform.microsoft.gradient enabled benabled,startcolorstr iwidth,endcolorstr iwidth ...

css顏色漸變

華麗麗的分割線 123 用css實現網頁背景漸變的 如下 一 從上往下漸變 example source code body 二 從左上至右下漸變 example source code body 三 從左往右漸變 example source code body 一 從上往下漸變 example ...