Yura [?]
https://ru.wikipedia.org/wiki/RGBВы уверенны, что: Color - Задает цвет для поиска, должен быть в формате RGB? Я создал в пейнте черный рисунок с 1 пикселем цвета 0xB5E61D. Цвет смотрю в ControlViewer в формате RGB. Нужный пиксель по нужным координатам FindPixel() нашел. Но когда я задал $Сolor = 0x1DE6B5, то есть в BGR.
Обратите внимание что в шестнадцатеричной записи байты располагаются как BGR, но на самом деле это RGB, потому что в шестнадцатеричной записи, младший байт находится справа, а старший слева, из-за этого кажется что запись BGR, но в памяти цвет располагается в последовательности RGB.COLORREF — стандартный тип для представления цветов в Win32. Используется для определения цвета в RGB виде. Размер — 4 байта. При определении какого-либо RGB цвета, значение переменной типа COLORREF можно представить в шестнадцатеричном виде так:
0x00bbggrr
rr, gg, bb — значение интенсивности соответственно красной, зелёной и синей составляющих цвета. Максимальное их значение — 0xFF.
Да. Возможно создать практически неограниченное число картинок (сколько памяти хватит).В PureBasic вы для доступа к загруженному изображению используете "#Image" (The number by which to identify the loaded image. #PB_Any can be specified to autogenerate this number. ) Я правильно понимаю, что если во все функции добавить еще один параметр- число, которое будет передаваться в #Image, то можно будет использовать буфер под номером=это число, то есть можно было бы использовать несколько буферов? (например для отслеживания динамических изменений на экране).
Нужно добавить в DLL такую функцию.ImageLoadHandle(hBmp) есть, обратная функция- получение hBmp из буфера, если это возможно, то тоже было бы отлично.
Код:
ProcedureDLL ImageGetHandle()
Protected Result = 0
If IsImage(#Image)
Result = ImageID(#Image)
EndIf
ProcedureReturn Result
EndProcedure