永发信息网

VB 关于Point的问题 超级急!!! 速度来

答案:1  悬赏:40  手机版
解决时间 2021-03-05 23:09
  • 提问者网友:未信
  • 2021-03-05 18:16
X = Val(car.Left)
Y = Val(car.Top)

上1 = Val(Picture1.Point(X, Y))
上2 = Val(Picture1.Point(X + Val(car.Width), Y))
下1 = Val(Picture1.Point(X, Val(car.Height) + Y))
下2 = Val(Picture1.Point(X + Val(car.Width), Y + Val(car.Height)))

RGB1 = (上1 \ 65536) + ((上1 Mod 65536) \ 256) + (上1 Mod 256)
RGB2 = (上2 \ 65536) + ((上2 Mod 65536) \ 256) + (上2 Mod 256)
RGB3 = (下1 \ 65536) + ((下1 Mod 65536) \ 256) + (下1 Mod 256)
RGB4 = (下2 \ 65536) + ((下2 Mod 65536) \ 256) + (下2 Mod 256)

Print RGB1
Print RGB2
Print RGB3
Print RGB4
Print "----------------"
呵呵,您们看出了什么?(car是可移动的shape控件)
为什么RGB1和其他的不同,求速度解!
知道的做个好人,我急急急急急啊!!!!
完全代码:(添加timer1,Picture1,car(shape))
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
car.Top = Y
car.Left = X
End Sub

Private Sub Timer1_Timer()
X = Val(car.Left)
Y = Val(car.Top)

上1 = Val(Picture1.Point(X, Y))
上2 = Val(Picture1.Point(X + Val(car.Width), Y))
下1 = Val(Picture1.Point(X, Val(car.Height) + Y))
下2 = Val(Picture1.Point(X + Val(car.Width), Y + Val(car.Height)))

RGB1 = (上1 \ 65536) + ((上1 Mod 65536) \ 256) + (上1 Mod 256)
RGB2 = (上2 \ 65536) + ((上2 Mod 65536) \ 256) + (上2 Mod 256)
RGB3 = (下1 \ 65536) + ((下1 Mod 65536) \ 256) + (下1 Mod 256)
RGB4 = (下2 \ 65536) + ((下2 Mod 65536) \ 256) + (下2 Mod 256)

Print RGB1
Print RGB2
Print RGB3
Print RGB4
Print "----------------"
End Sub
最佳答案
  • 五星知识达人网友:蓝房子
  • 2021-03-05 19:43
你这样测试一下就明白了:
rivate Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
car.Top = Y
car.Left = X
End Sub

Private Sub Timer1_Timer()
X = Val(car.Left)
Y = Val(car.Top)

上1 = Val(Picture1.Point(X, Y))
上2 = Val(Picture1.Point(X + Val(car.Width), Y))
下1 = Val(Picture1.Point(X, Val(car.Height) + Y))
下2 = Val(Picture1.Point(X + Val(car.Width), Y + Val(car.Height)))

Debug.Print 上1
Debug.Print 上2
Debug.Print 下1
Debug.Print 下2

RGB1 = (上1 \ 65536) + ((上1 Mod 65536) \ 256) + (上1 Mod 256)
RGB2 = (上2 \ 65536) + ((上2 Mod 65536) \ 256) + (上2 Mod 256)
RGB3 = (下1 \ 65536) + ((下1 Mod 65536) \ 256) + (下1 Mod 256)
RGB4 = (下2 \ 65536) + ((下2 Mod 65536) \ 256) + (下2 Mod 256)

Print RGB1
Print RGB2
Print RGB3
Print RGB4
Print "----------------"
End Sub

测试结果:
0
15790320
15790320
15790320
0
15790320
15790320
15790320
……
张志晨:这说明了什么??
Point 方法是按照长整数,返回在PictureBox1 上所指定磅的红-绿-蓝 (RGB) 颜色。你的这个PictureBox1的颜色值任何点都一样!!!

如果你给PictureBox1加载一个多种颜色的彩图,再试下!!哈哈……结果令人兴奋吧!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯