繪制線條采用Draw開頭的方法,顏色參數(shù)用Pen類;
創(chuàng)新互聯(lián)成立與2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元大城做網(wǎng)站,已為上家服務(wù),為大城各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575
繪制有填充色的封閉圖形采用Fill開頭的方法,顏色參數(shù)用Brush類;
例如:
'繪制一個(gè)實(shí)心圓,該圓在:直線x=200,y=200,x=200+100,y=200+100所劃矩形區(qū)域內(nèi)
Me.CreateGraphics.FillEllipse(New SolidBrush(Color.Orange), 200, 200, 100, 100)
'繪制一個(gè)空心圓,該圓在:直線x=200,y=200,x=200+100,y=200+100所劃矩形區(qū)域內(nèi)
Me.CreateGraphics.DrawEllipse(New Pen(Color.Black), 200, 200, 100, 100)
VB可使用Point方法來獲取圖片指定點(diǎn)的顏色。
Point 方法
按照長整數(shù),返回在 Form 或 PictureBox 上所指定磅的紅-綠-藍(lán) (RGB) 顏色。
語法
object.Point(x, y)
'窗體判色代碼:
Private Sub Form1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Text1 = X
Text2 = Y
Text3 = Point(X, Y)
Text4 = (Val(Text3) Mod 65536) Mod 256 'Red
Text5 = (Val(Text3) Mod 65536) \ 256 'Green
Text6 = Val(Text3) \ 65536 'Blue
Shape1.FillColor = RGB(Val(Text4), Val(Text5), Val(Text6))
End Sub
'PictureBox判色代碼:
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Text1 = X
Text2 = Y
Text3 = Picture1.Point(X, Y)
Text4 = (Val(Text3) Mod 65536) Mod 256 'Red
Text5 = (Val(Text3) Mod 65536) \ 256 'Green
Text6 = Val(Text3) \ 65536 'Blue
Shape1.FillColor = RGB(Val(Text4), Val(Text5), Val(Text6))
End Sub
Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
If CheckBox1.Checked = True Then
TextBox1.ForeColor = Color.Red
Else
TextBox1.ForeColor = Color.Black
End If
End Sub
Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged
If CheckBox2.Checked = True Then
TextBox1.BackColor = Color.Yellow
Else
TextBox1.BackColor = Color.White
End If
End Sub
Dim c As Color '新生成的顏色
Dim r As Byte 'RED
Dim g As Byte 'Green
Dim b As Byte 'Blue
Dim a As Byte 'Alpha 分量值
a = Button1.BackColor.A
r = Button1.BackColor.R
g = Button1.BackColor.G
b = Button1.BackColor.B
Dim rnd As New Random '生成隨機(jī)數(shù)
Dim i As Integer
i = rnd.Next(-10, 10)
r = r + IIf(r + i 255, -i, i)
i = rnd.Next(-10, 10)
g = g + IIf(g + i 255, -i, i)
i = rnd.Next(-10, 10)
b = b + IIf(b + i 255, -i, i)
c = Color.FromArgb(a, r, g, b)
您好,這種方法可以通過按鈕的MouseDown和MouseUp事件來實(shí)現(xiàn),比如說,當(dāng)單擊按鈕RedColor(RedColor為這個(gè)按鈕的Name屬性的屬性值)的時(shí)候,要使按鈕的顏色變成紅色,這可以在代碼視圖中的控件選擇下拉列表中選擇RedColor這個(gè)控件,然后在右邊的事件下拉列表中選擇MouseDown事件(當(dāng)按下鼠標(biāo)時(shí)發(fā)生),這時(shí),Visual Studio會自動生成如下代碼:
Private Sub RedColor_MouseDown(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles RedColor.MouseDown
End Sub
接下來就在當(dāng)前生成的代碼中寫入如下代碼:
RedColor.BackColor = Color.FromArgb(255, 0, 0)
這句代碼的作用是利用Color下的FromArgb方法來設(shè)置RGB顏色參數(shù),在RGB顏色系統(tǒng)中,R代表紅色,G代表綠色,B代表藍(lán)色,根據(jù)這三種顏色的不同程度的調(diào)和,就會得到不同的顏色,如果您要得到深色的天藍(lán)色,則可以設(shè)置FromArgb(0, 191, 255),這個(gè)顏色轉(zhuǎn)換為HTML中的RGB顏色就是#00BFFF。
當(dāng)然顏色還原最好是寫在MouseUp事件里面,這樣就不必在單擊其他按鈕時(shí)來還原上一次按下的按鈕的顏色,在這里,為了方便描述,我們假設(shè)按鈕的默認(rèn)顏色為白色,也就是FromArgb方法設(shè)置為FromArgb(255, 255, 255)的時(shí)候,所標(biāo)示的顏色就是白色
所以選擇了RedColor按鈕的MouseUp事件后,Visual Studio會自動生成下列代碼:
Private Sub RedColor_MouseUp(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles RedColor.MouseUp
End Sub
MouseUp的含義是當(dāng)鼠標(biāo)彈起時(shí)發(fā)生,所以在這個(gè)事件就可以設(shè)置按鈕顏色的還原,即添加下列代碼來實(shí)現(xiàn):
RedColor.BackColor = Color.FromArgb(255, 255, 255)
當(dāng)然,這就編寫好了一個(gè)按鈕按下時(shí)變色,回彈時(shí)還原的功能,至于另外一個(gè)按鈕的功能,這與這個(gè)按鈕的功能一樣,只是代碼有一些細(xì)微的差別而已,假設(shè)這個(gè)按鈕的Name屬性的屬性值為BlueColor,相應(yīng)的代碼對應(yīng)如下:
Private Sub BlueColor_MouseDown(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BlueColor.MouseDown
BlueColor.BackColor = Color.FromArgb(0, 0, 255) '藍(lán)色的FromArgb
End Sub
Private Sub BlueColor_MouseDown(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BlueColor.MouseDown
BlueColor.BackColor = Color.FromArgb(255, 255, 255)
End Sub
另外,為了避免代碼的冗余,可以將RedColor和BlueColor的MouseUp事件進(jìn)行合并,這合并后的代碼如下:
Private Sub BlueColor_MouseDown(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BlueColor.MouseDown, RedColor.MouseUp
BlueColor.BackColor = Color.FromArgb(255, 255, 255)
RedColor.BackColor = Color.FromArgb(255, 255, 255)
End Sub
當(dāng)然,這個(gè)你只要分析了控件事件代碼的基本結(jié)構(gòu),一切就一目了然了,控件事件代碼的基本結(jié)構(gòu)如下:
[作用域] Sub 事件名([參數(shù)列表]) Handles 控件事件1 [, 控件事件2, 控件事件3...]
[事件代碼區(qū)域]
End Sub
如果此回答對您有幫助,別忘了采納哦,如果沒有解決您的問題,您可以在互聯(lián)網(wǎng)上尋找更多關(guān)于此問題的解決方案,謝謝!