2016-11-15 203 views
1

我想將圖片加載到excel中,並將其像素的RGB值提取到二維數組中。VBA getPixel總是返回-1

但是,當我嘗試使用GetPixel函數時,它始終返回-1。我確定它已經將圖片加載到了一個用戶窗體上,但仍然返回-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\1.bmp") 
Debug.Print (UserForm1.Image1.Picture) 
Debug.Print (GetPixel(UserForm1.Image1.Picture.Handle, 100, 100)) 

回答

1

getPixel功能不兼容loadPicture

我的解決方案是將圖片加載到可見的用戶窗體中,然後提取用戶窗體的像素。