Что нового

Поиск цвета пикселя на полупрозрачной картинке

And

Новичок
Сообщения
36
Репутация
0
Как используя PixelGetColor определить, что полупрозрачная картинка имеет определенный цвет. Т.е. например полупрозрачные цифры могут быть красными, но фон и сами цифры полупрозрачные и изображение трехмерное, соответственно цвет каждого пикселя всегда разный, хотя сами пиксели могут окрашиваться красным, зеленый и т.д. цветом. Как определить, что есть альфа канал цвета в этмо пикселе или что-нибудь подобное.
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
And
альфа канал цвета в этом пикселе
Прозрачность используется для формирования цвета пикселя, но не наоборот. Результирующий цвет пикселя, который вы видите на экране, не имеет прозрачности. Красный прозрачный цвет на белом фоне превращается в непрозрачный розовый. Вот и всё.

Перетащите эти два квадрата на белый фон блокнота и попробуйте определить, какой из них прозрачный
Код:
GUICreate("Solid", 200, 200, 100, 100, 0x80000000, 0x10008)
GUISetBkColor(0xFF7F7F)
GUISetState()

GUICreate("Trans", 200, 200, 200, 200, 0x80000000, 0x10008)
GUISetBkColor(0xFF0000)
WinSetTrans("Trans", "", 0x80)
GUISetState()

Do
Until GUIGetMsg() = -3
 
Автор
A

And

Новичок
Сообщения
36
Репутация
0
Понятно, но что нужно сделать, чтобы определять что в этом месте цвет поменялся на другой, если все время краски меняются из-за полупрозрачного шрифта или картинки. Может быть нужно при появлении определенного диапазона одного цвета отслеживалось что-то. Использовал только PixelGetColor, но он выдает всегда случайные цвета. Понятно когда каждый цвет имеет свой код, но как с диапазонами отслеживать, и что использовать для этого?
 
Верх