Вверх ↑
Ответов: 35
Рейтинг: -1
#1: 2017-05-26 19:09:49 ЛС | профиль | цитата
andrestudio писал(а):
DIB

А вот это уже интересно! Сейчас ознакомлюсь поближе и сразу отпишусь..
Нашел немного информации по этой теме.. http://www.delphigfx.narod.ru/2d/007/2d_7.htm#8
В конце интересный пункт :
Выводы...
Единственный его минус - обращение к отдельным пикселам. Но написав некоторое количество кода можно обойти это затруднение использовав свойство - ScanLine.

А в целом считаю что направление правильное. Что Ж буду экспериментировать, возможно это единственное более менее правильное решение.

PS: Если получится достойный код , обязательно поделюсь выложив в этой теме.

А кому интересно можете побаловаться с Автоитовским вариантом (Интерфейс как у kamakama) только что на коленке сваял..(ищет в перекрытых и задвинутых за пределы экрана окнах так как работает напрямую с памятью, если поиск в цикле, повторно находит за 0,001 ms) Исходник прилагается Открыть и посмотреть можно в Notepad++. https://cloud.mail.ru/public/6mj7/CBNE95gNP

Цвета в таком формате:
0xFFFF00 (желтый)
0x00FF00 (зеленый)
0x00FFFF (голубой)
0x0000FF (синий)
0xFF0000 (красный)
можно и в DEC (Десятичном)


Офтоп..
Тему не закрываю жду ваших вариантов.
И чтобы не быть голословным что в Autoit можно быстро найти пиксель любого цвета в одну строку , напишу пример, работает без подключения доп библиотек
Всего 1 строчка: $pixel = PixelSearch(0,0,1024,768,0xFF0000,4,1,$hwnd)

    В переменную $pixel записывается массив из 2х координат X - $pixel[0] и Y - $pixel[1]
    PixelSearch - сама функция поиска
    0,0, - верхний угол окна
    1024,768, - нижний угол
    0xFF0000 - искомый цвет
    4, - допустимое отклонения от цвета по всем 3м диапазонам (R,G,B)
    1, - шаг поиска в данном случае каждый пиксель
    $hwnd - заголовок окна в котором ищем
карма: -4
Нечего сказать по делу? Просто проходим на natribu.org
0
Редактировалось 14 раз(а), последний 2017-05-27 01:47:11