2016-11-15 4 views
1

Я пытаюсь загрузить изображение в excel и извлечь его значение RGB в 2D-массив.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.

Моим решением было загрузить изображение на видимую пользовательскую форму, а затем извлечь пиксели пользовательской формы.

Смежные вопросы