0

我有一个图片框控件,可以在其中加载 50x160 BMP 图像,使用以下命令:

Picture1.Picture = LoadPicture(App.Path & "\test.bmp")

加载图片后,我想获取特定像素的颜色:

GetPixel(Picture1.hDC, 0, 0)
Picture1.Point(0, 0)

我已经尝试了 8000 像素(显然使用循环)并且每个函数调用(GetPixelPoint)总是返回-1。我第一次测试它时它工作得很好,现在它神奇地不起作用。

有任何想法吗?

4

1 回答 1

0

你确定图片是满载的吗?

看看以下项目:

'1 form with
'  1 picturebox: name=Picxture1
Option Explicit

Private Sub Form_Load()
  Picture1.Picture = LoadPicture("c:\temp\thieu.jpg")
  Caption = CStr(Picture1.Point(0, 0))
End Sub

Private Sub Form_Resize()
  Picture1.Move 0, 0, ScaleWidth, ScaleHeight
End Sub

Private Sub Picture1_Click()
  Caption = CStr(Picture1.Point(0, 0))
End Sub

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  Caption = CStr(Picture1.Point(X, Y))
End Sub

当表单加载时它加载图片,并在标题中直接显示0,0的颜色..这是-1,因为图片尚未加载

当您在图片上按下鼠标按钮时,它将显示该坐标的颜色,当您释放按钮(并完成单击)时,它将显示坐标的颜色 0,0

于 2014-03-19T10:04:57.517 回答