【问题标题】:VB6 PictureBox.Point or GetPixel always return -1VB6 PictureBox.Point 或 GetPixel 总是返回 -1
【发布时间】:2014-04-25 01:03:47
【问题描述】:

我有一个图片框控件,我在其中加载一个 50x160 BMP 图像,使用这个:

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

一旦图片加载完毕,我想获取特定像素的颜色:

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

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

有什么想法吗?

【问题讨论】:

    标签: vb6 picturebox getpixel


    【解决方案1】:

    您确定图片已加载完毕?

    看看以下项目:

    '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 的颜色

    【讨论】:

      猜你喜欢
      • 2011-01-17
      • 1970-01-01
      • 2011-03-28
      • 2016-11-21
      • 2019-10-10
      • 2014-04-13
      • 2017-03-20
      • 2013-11-04
      相关资源
      最近更新 更多