VBA getPixel 总是 returns -1
VBA getPixel always returns -1
我正在尝试将图片加载到 excel 并将其像素的 RGB 值提取到二维数组中。
但是,当我尝试使用 GetPixel 函数时,它总是 returns -1。我确保它已将图片加载到用户窗体上,但仍然是 returns -1。
这是我的代码:
Private Declare PtrSafe Function GetPixel Lib "gdi32" (ByVal hDC As LongPtr, ByVal x As Long, ByVal Y As Long) As Long
Dim color As Long
UserForm1.Image1.Picture = LoadPicture("D:\Dropbox\Dropbox.bmp")
Debug.Print (UserForm1.Image1.Picture)
Debug.Print (GetPixel(UserForm1.Image1.Picture.Handle, 100, 100))
getPixel
函数与 loadPicture
不兼容。
我的解决方案是将图片加载到可见的用户窗体上,然后提取用户窗体的像素。
我正在尝试将图片加载到 excel 并将其像素的 RGB 值提取到二维数组中。
但是,当我尝试使用 GetPixel 函数时,它总是 returns -1。我确保它已将图片加载到用户窗体上,但仍然是 returns -1。
这是我的代码:
Private Declare PtrSafe Function GetPixel Lib "gdi32" (ByVal hDC As LongPtr, ByVal x As Long, ByVal Y As Long) As Long
Dim color As Long
UserForm1.Image1.Picture = LoadPicture("D:\Dropbox\Dropbox.bmp")
Debug.Print (UserForm1.Image1.Picture)
Debug.Print (GetPixel(UserForm1.Image1.Picture.Handle, 100, 100))
getPixel
函数与 loadPicture
不兼容。
我的解决方案是将图片加载到可见的用户窗体上,然后提取用户窗体的像素。