VB.NET:绘图后,如何才能取得所绘图形的颜色值?

来源:百度知道 编辑:UC知道 时间:2024/06/18 22:19:16
如:
画了一条,我想立刻取出线上一点的颜色(GetPixel),无论是什么颜色,取出的都为背景色或是黑色,请问,如何编写才能取出自己画上的颜色?

加入一个TextBox控件,一个Command控件
代码:

Private Declare Function GetPixel Lib "gdi32" (ByVal hDC As Long, ByVal X As Long, ByVal Y As Long) As Long
Private Declare Function GetWindowDC Lib "user32" (ByVal hWnd As Long) As Long
Private Sub Command1_Click()
Dim Color As Long
WindowDC = GetWindowDC(0) '获取屏幕的设备场景
Color = GetPixel(WindowDC, 500, 100) '获指定点的颜色
'分解RGB颜色值
R = (Color Mod 256) '红色
b = (Int(Color \ 65536)) '蓝色
G = ((Color - (b * 65536) - R) \ 256) '绿色
Text1.BackColor = RGB(R, G, b)
End Sub