也容易,如果是黑白三個(gè)顏色加上相同的漸變量,彩色的是起始顏色的三個(gè)分量與終止顏色的對(duì)應(yīng)三個(gè)分量的差值,再除于相同的份數(shù),就得出三原色各自的步進(jìn)量。
成都創(chuàng)新互聯(lián)是專業(yè)的芷江網(wǎng)站建設(shè)公司,芷江接單;提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行芷江網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
窗體上放個(gè)圖片框試試下面代碼:
Private?Sub?PictureBox1_Paint(ByVal?sender?As?Object,?ByVal?e?As?System.Windows.Forms.PaintEventArgs)?Handles?PictureBox1.Paint
Dim?startColor?As?Color?=?Color.Red
Dim?endColor?As?Color?=?Color.Green
Dim?s?As?String?=?"vb點(diǎn)虐 ?如何使文字能漸變顏色,就是顏色慢慢變淡然后在慢慢恢復(fù)?"
Dim?Steps?As?Integer?=?s.Length?\?2
Dim?StepR?As?Integer?=?(CInt(endColor.R)?-?startColor.R)?\?Steps
Dim?StepG?As?Integer?=?(CInt(endColor.G)?-?startColor.G)?\?Steps
Dim?StepB?As?Integer?=?(CInt(endColor.B)?-?startColor.B)?\?Steps
Dim?R?As?Integer?=?startColor.R
Dim?G?As?Integer?=?startColor.G
Dim?B?As?Integer?=?startColor.B
Dim?drawFont?As?New?System.Drawing.Font("Arial",?16)
Dim?X?As?Integer?=?50
For?i?As?Integer?=?1?To?Steps
Dim?drawBrush?As?New?SolidBrush(Color.FromArgb(R,?G,?B))
e.Graphics.DrawString(s.Substring(i?-?1,?1),?drawFont,?drawBrush,?X,?50.0)
X?+=?18
R?+=?StepR
G?+=?StepG
B?+=?StepB
Next
For?i?As?Integer?=?1?To?Steps
Dim?drawBrush?As?New?SolidBrush(Color.FromArgb(R,?G,?B))
e.Graphics.DrawString(s.Substring(i?+?Steps?-?1,?1),?drawFont,?drawBrush,?X,?50.0)
X?+=?18
R?-=?StepR
G?-=?StepG
B?-=?StepB
Next
End Sub
在普通window應(yīng)用程序中的背景是不能有ALPHA通道的
既然是點(diǎn)虐 ,試試用WPF窗體吧:
Listbox1.Background=New SolidBrush(Color.FromARGB(200,0,0,0))
當(dāng)然你要是了解點(diǎn)虐 的筆刷類,繪制復(fù)雜的背景也不成問(wèn)題
我是新手,僅談?wù)勎业睦斫猓粹o的MouseEnter與MouseLeave事件就可以解決,需要這么復(fù)雜嗎?
比如當(dāng)鼠標(biāo)移入按鈕(Button1)時(shí),按鈕的字體變色(假如變?yōu)榧t色)可以寫為(MouseEnter事件):
Button1.Forecolor=color.red;
當(dāng)鼠標(biāo)移出,字體顏色變回去(假如本來(lái)是黃色)(MouseLeave事件):
Button1.Forecolor=color.yellow;
如要做高級(jí)的動(dòng)態(tài)變化,估計(jì)添加timer進(jìn)來(lái),寫Timer的Tick事件,比如Tmier每Tick一次,按鈕的紅色就加5,同時(shí)設(shè)置按鈕的Tick間距。
在屬性里面-你找到FORM1的窗體屬性-那邊有2個(gè)有顏色的屬性值旁邊是有個(gè)顏色小框框的。你把它換了就可以了。
具體換什么顏色你自己看著來(lái)?yè)Q。。
追問(wèn):
我的意思是用color.FormArgb()方法
回答:
vb6的vbWhite在VB.NET中是Color.White
vb6的H808080在VB.NET中是Color.FormArgb(H808080)
如果是System.UInt32
With txtHtml
.SetColor(CodeMax.cmColorItem.cmClrLeftMargin, H808080)
.SetColor(CodeMax.cmColorItem.cmClrLineNumberBk, H808080)
.SetColor(CodeMax.cmColorItem.cmClrLineNumber, i)
.HighlightedLine = 0
End With
這段時(shí)間在VB6中運(yùn)行正常,但是在VB點(diǎn)虐 中就會(huì)提示說(shuō)"H808080"無(wú)法轉(zhuǎn)換為System.Uint32
Convert.ToUInt32(H808080)就行了,如果用VB2005就支持無(wú)符號(hào)數(shù)了,VB.NET暫時(shí)不支持。
補(bǔ)充:
函數(shù)RGB,格式:
RGB(red,green,blue),red、green、blue取值0~255。
函數(shù)QBColor,格式:
QBColor(color),color取值0~15,代表顏色編號(hào),即只能表示16種顏色。
RGB 函數(shù)
返回一個(gè) Long整數(shù),用來(lái)表示一個(gè) RGB 顏色值。
語(yǔ)法
RGB(red, green, blue)
RGB 函數(shù)的語(yǔ)法含有以下這些命名參數(shù):
部分 描述
red 必要參數(shù);Variant (Integer)。數(shù)值范圍從 0 到 255,表示顏色的紅色成份。
green 必要參數(shù);Variant (Integer)。數(shù)值范圍從 0 到 255,表示顏色的綠色成份。
blue 必要參數(shù);Variant (Integer)。數(shù)值范圍從 0 到 255,表示顏色的蘭色成份。
說(shuō)明
可以接受顏色說(shuō)明的應(yīng)用程序的方法和屬性期望這個(gè)說(shuō)明是一個(gè)代表 RGB 顏色值的數(shù)值。一個(gè) RGB 顏色值指定紅、綠、藍(lán)三原色的相對(duì)亮度,生成一個(gè)用于顯示的特定顏色。
傳給 RGB 的任何參數(shù)的值,如果超過(guò) 255,會(huì)被當(dāng)作 255。
下面的表格顯示一些常見(jiàn)的標(biāo)準(zhǔn)顏色,以及這些顏色的紅、綠、藍(lán)三原色的成份:
顏色 紅色值 綠色值 蘭色值 黑色 0 0 0 蘭色 0 0 255 綠色 0 255 0 青色 0 255 255 紅色 255 0 0 洋紅色 255 0 255 黃色 255 255 0 白色 255 255 255 QBColor 函數(shù) 返回一個(gè) Long,用來(lái)表示所對(duì)應(yīng)顏色值的 RGB 顏色碼。
補(bǔ)充:
語(yǔ)法:
QBColor(color)
必要的 color 參數(shù)是一個(gè)界于 0 到 15 的整型。
設(shè)置值
color 參數(shù)有以下這些設(shè)置:
值 顏色 值 顏色 0 黑色 8 灰色
1 蘭色 9 亮蘭色 2 綠色 10 亮綠色 3 青色 11 亮青色 4 紅色 12 亮紅色 5 洋紅色 13 亮洋紅色 6 黃色 14 亮黃色 7 白色 15 亮白色 說(shuō)明:color 參數(shù)代表使用于早期版本的 Basic(諸如 Microsoft Visual Basic for MS-DOS 以及 Basic Compiler)的顏色值。始于最低有效字節(jié),返回值指定了紅、綠、藍(lán)三原色的值,用于設(shè)置成 VBA中RGB 系統(tǒng)的對(duì)應(yīng)顏色。