问个看起来超级简单的VB问题,希望得到超级简单的解法

来源:百度知道 编辑:UC知道 时间:2024/05/05 05:18:13
如题,

事情是这样的,我们现在来画一个VB程序,
一个form1,简单的再加上个picture1, 载入一张图片.
生成一个exe程序,图片里是一个1寸照片,背景是底板做身份证那种.

好的,现在要求编写一个程序,让我把鼠标移动到picture1左上角区域里时,
鼠标点到的是底版, 现在求底板是什么颜色的,用VB输出.

求picture1句柄是很简单的事情,告诉我获取鼠标所在颜色值过程就可以了.谢谢大家.

一小时上线视察,满意马上散分~

Declare Function GetPixel Lib "gdi32" Alias "GetPixel" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
说明

Dim x As Long
Dim y As Long
Dim c As Long

x = 100
y = 100
c = GetPixel(Picture1.hdc, x, y)

GetPixel 返回的 c 就是Picture1中(x,y)点的颜色

VB的方法
c = Picture1.Point(x, y)

Dim s As Long

Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Shift = 1 Then
s = Picture1.Point(X, Y)
MsgBox s
Else
Picture1.PSet (X, Y), s
End If

End Sub

==========================
按住shift单击取色,放掉单击画该种颜色的点

或者也可以用GetPixel函数取色,鼠标坐标值用GetCursor函数取得。

加一图片框MouseDown代码如下:

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim lngColor As Long
Picture1.Appearance = 0
lngC