1樓:匿名_熱心網友
建議你用timer控制元件來控制,這個快慢也好掌握,不過也可以把你的**發來看看,好給你解決
2樓:匿名使用者
rgb轉hsb有公式 是啥?反過來算也不麻煩
3樓:丁滿
這裡有** hsl和rgb互轉的 (注:hsb就是hsl,b和l都有亮度的意思)
public type hsb
hue as integer
saturation as integer
brightness as integer
end type
public type rgb
red as integer
green as integer
bue as integer
end type
' 轉換rgb到hsb
public function rgb2hsb(byval r as integer, byval g as integer, byval b as integer) as hsb
dim nh as single, ns as single, nv as single
dim nr as single, ng as single, nb as single
dim ndelr as single, ndelg as single, ndelb as single
dim nmax as single, nmin as single, ndelmax as single
nr = r / 255
ng = g / 255
nb = b / 255
nmax = max(max(nr, ng), nb)
nmin = min(min(nr, ng), nb)
ndelmax = nmax - nmin
nv = nmax
if (ndelmax = 0) then
nh = 0
ns = 0
else
ns = ndelmax / nmax
ndelr = (((nmax - nr) / 6) + (ndelmax / 2)) / ndelmax
ndelg = (((nmax - ng) / 6) + (ndelmax / 2)) / ndelmax
ndelb = (((nmax - nb) / 6) + (ndelmax / 2)) / ndelmax
if (nr = nmax) then
nh = ndelb - ndelg
elseif (ng = nmax) then
nh = (1 / 3) + ndelr - ndelb
elseif (nb = nmax) then
nh = (2 / 3) + ndelg - ndelr
end if
if (nh < 0) then nh = nh + 1
if (nh > 1) then nh = nh - 1
end if
rgb2hsb.hue = nh * 360
rgb2hsb.saturation = ns * 100
rgb2hsb.brightness = nv * 100
end function
' 轉換hsb到rgb
public function hsb2rgb(byval h as integer, byval s as integer, byval b as integer) as rgb
dim nh as single, ns as single, nv as single
dim nr as single, ng as single, nb as single
dim hi as single, f as single, p as single, q as single, t as single
nh = h / 360
ns = s / 100
nv = b / 100
if (s = 0) then
nr = nv * 255
ng = nv * 255
nb = nv * 255
else
hi = nh * 6
if (hi = 6) then hi = 0
f = int(hi)
p = nv * (1 - ns)
q = nv * (1 - ns * (hi - f))
t = nv * (1 - ns * (1 - (hi - f)))
if (f = 0) then
nr = nv
ng = t
nb = p
elseif (f = 1) then
nr = q
ng = nv
nb = p
elseif (f = 2) then
nr = p
ng = nv
nb = t
elseif (f = 3) then
nr = p
ng = q
nb = nv
elseif (f = 4) then
nr = t
ng = p
nb = nv
else
nr = nv
ng = p
nb = q
end if
end if
hsb2rgb.red = nr * 255
hsb2rgb.green = ng * 255
hsb2rgb.bue = nb * 255
end function
把h,s,l當成引數呼叫,返回值就是一個型別為「rgb」的使用者定義型別
示例:dim aa as rgb
aa=hsb2rgb(1, 2, 3)
print "r:" & aa.red & " g:" & aa.green & " b:" & aa.bue
回答得很晚,不知道能否幫到題主,請您設為最佳答案把 謝謝!
4樓:匿名使用者
誰知道vb裡面hsb轉rgb怎麼轉?rgb轉hsb有公式,但是反過來hsb轉rgb該如何轉換?
5樓:匿名使用者
只要找到對應的演算法就行了
hsl與rgb顏色系統如何相互轉換?
6樓:匿名使用者
hsl與rgb轉換
a) rgb→hsl的演算法描述。
步驟1:把rgb值轉成【0,1】中數值。
步驟2:找出r,g和b中的最大值。
步驟3:設l=(maxcolor + mincolor)/2
步驟4:如果最大和最小的顏色值相同,即表示灰色,那麼s定義為0,而h未定義並在程式中通常寫成0。
步驟5:否則,測試l:
if l<0.5, s=(maxcolor-mincolor)/(maxcolor + mincolor)
if l>=0.5, s=(maxcolor-mincolor)/(2.0-maxcolor-mincolor)
步驟6: if r=maxcolor, h=(g-b)/(maxcolor-mincolor)
if g=maxcolor, h=2.0+(b-r)/(maxcolor-mincolor)
if b=maxcolor, h=4.0+(r-g)/(maxcolor-mincolor)
步驟7:從第6步的計算看,h分成0~6區域。rgb顏色空間是一個立方體而hsl顏色空間是兩個六角形錐體,其中的l是rgb立方體的主對角線。
因此,rgb立方體的頂點:紅、黃、綠、青、藍和品紅就成為hsl六角形的頂點,而數值0~6就告訴我們h在哪個部分。h=h*60.
0,如果h為負值,則加360。
什麼是rgb空間和hsl空間,兩者如何相互轉化
7樓:伸縮縫的春天
因為這樣比較容易檢測鏡頭邊界,l是亮度,人眼最敏感,rgb的變化不是很敏感,不好做分割。
怎樣才能將影象轉換為rgb顏色模式
8樓:匿名使用者
在選單欄上影象-模式。rgb顏色 ,希望我的回答能夠幫到你。
9樓:一日愛三餐
開啟photoshop軟體,選單欄——模式——rgb顏色。就可以了
10樓:
影象 模式 rgb 這裡有很多選項的
11樓:貢依絲
hsl與rgb轉換
a) rgb→hsl的演算法描述。
步驟1:把rgb值轉成中數值。
步驟2:找出r,g和b中的最大值。
步驟3:設l=(maxcolor + mincolor)/2
步驟4:如果最大和最小的顏色值相同,即表示灰色,那麼s定義為0,而h未定義並在程式中通常寫成0。
步驟5:否則,測試l:
if l<0.5, s=(maxcolor-mincolor)/(maxcolor + mincolor)
if l>=0.5, s=(maxcolor-mincolor)/(2.0-maxcolor-mincolor)
步驟6: if r=maxcolor, h=(g-b)/(maxcolor-mincolor)
if g=maxcolor, h=2.0+(b-r)/(maxcolor-mincolor)
if b=maxcolor, h=4.0+(r-g)/(maxcolor-mincolor)
步驟7:從第6步的計算看,h分成0~6區域。rgb顏色空間是一個立方體而hsl顏色空間是兩個六角形錐體,其中的l是rgb立方體的主對角線。
因此,rgb立方體的頂點:紅、黃、綠、青、藍和品紅就成為hsl六角形的頂點,而數值0~6就告訴我們h在哪個部分。h=h*60.
0,如果h為負值,則加360。
VB中label顯示怎麼換行,在VB中怎麼怎麼設定label自動換行
有兩種方法實現label換行 1 將label控制元件的可以調整控制元件label的寬度和高度,即可實現自動換行 2 控制換行。例如 private sub form load with label1 caption 12 vbcrlf 345 vbcrlf 6789 end with end su...
vb中怎麼控制LINE的寬度,vb中怎麼控制一個LINE的寬度
1 在窗體上新增一個line1控制元件。2 在它的屬性框裡修改borderwidth的值為想要的值,比如輸入5。3 程式設計實現 line1.borderwidth 6 堵義 事先在窗體裡新增一個line控制元件 需要顯示的時候指定它的位置 寬度用width屬性試試。 line沒有寬度可設,你要設 ...
VB怎麼從1 8中取數,VB怎麼從1 8中取6個數
private sub command1 click for i1 1 to 8 for i2 i1 1 to 8 for i3 i2 1 to 8 for i4 i3 1 to 8 for i5 i4 1 to 8 for i6 i5 1 to 8 s i1 i2 i3 i4 i5 i6if in...