как узнать координаты пикселя на экране
Поиск определенного пикселя на экране
Всем привет. Пишу игрового бота.
Дано: Есть часть экрана размером в 1080х871
Нужно: Найти в этой части экрана пиксель с RGB цветом 231 232 99 и вернуть его координаты(х, у). Возможно таких частей будет 2-3.
Буду благодарен за помощь.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Поиск определенного пикселя на экране
Здравствуйте. Я хочу найти определённый пиксель на экране. Я опробовал способ через opencv.
Цвет определенного пикселя на экране
Как сделать процедуру с помощью которой в текстовом редакторе отображался цвет(в формате.
Узнать цвет определенного пикселя на экране
Привет всем:) столкнулся с проблемой, а проблема состоит в том, что я хочу узнать цвет.
Получение RGB цвета определённого пикселя на экране
Необходимо получить RGB цвет пикселя который находится на кординатах x и y. Как это сделать?
На данный момент все до чего додумался мой не шибко опытный мозг, то это до 2-ух циклов фор
Dave_, OMG. Конечно будет тормозить!
Во-первых, вы в цикле получаете DC. Зачем? Его достаточно получить единожды.
Во-вторых, пиксель вы получаете у него, у контекста. Я не знаю, что там происходит внутри, с winapi плотно не работал, но наверняка внутри там тоже множество всего тормозного и для частых вызовов не предназначенного.
Картинку с этого контекста вам надо запихнуть в bitmap. И уже по нему пробегаться циклом.
Добавлено через 1 минуту
Dave_, да, в третьих.
В возвращаемом значении у вас очень много лишнего. Формируется список и питоновский массив. Избавьтесь от формирования лишних объектов.
Добавлено через 4 минуты
Да, теоретически возможно ещё ускорить, избавившись от питоновских циклов.
Но для этого надо содержимое картинки перевести в числовой массив в памяти, это надо разбираться, как.
Поиск определенного пикселя на экране
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Поиск определенного пикселя на экране
Всем привет. Пишу игрового бота. Дано: Есть часть экрана размером в 1080х871 Нужно: Найти в этой.
Цвет определенного пикселя на экране
Как сделать процедуру с помощью которой в текстовом редакторе отображался цвет(в формате.
Узнать цвет определенного пикселя на экране
Привет всем:) столкнулся с проблемой, а проблема состоит в том, что я хочу узнать цвет.
Получение RGB цвета определённого пикселя на экране
Необходимо получить RGB цвет пикселя который находится на кординатах x и y. Как это сделать?
Можно что-то такое сделать
0.041104663999999985 seconds
(array([ 1, 2, 3, 3, 3, 3, 4, 4, 7, 8, 8, 8, 15, 16, 22, 26, 27,
27, 28, 29, 29, 30, 30, 31, 32, 32, 33, 33, 33, 33, 33, 33, 33, 33,
34, 34, 34, 34, 35, 36, 36, 37, 38, 38, 39, 39, 39, 39, 39, 40, 41,
41, 42, 43, 43, 43, 44, 45, 45, 45, 47, 49, 49, 50, 52, 60, 60, 62,
63, 63, 63, 63, 65, 70, 70, 71, 72, 73], dtype=int64), array([17, 22, 18, 19, 20, 21, 19, 20, 23, 24, 25, 26, 21, 66, 20, 10, 11,
65, 11, 16, 42, 14, 21, 21, 17, 66, 14, 18, 19, 20, 21, 35, 35, 35,
15, 34, 35, 36, 15, 15, 36, 15, 15, 36, 9, 13, 14, 15, 35, 8, 6,
42, 4, 3, 26, 41, 2, 0, 1, 24, 28, 28, 50, 28, 39, 15, 16, 13,
19, 22, 23, 50, 19, 13, 15, 22, 15, 30], dtype=int64), array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1,
1, 1, 1, 2, 1, 1, 1, 1, 1, 0, 1, 2, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 1, 2, 1, 1,
1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0], dtype=int64))
я так понял код должен был найти координату, RGB которой я ввёл корректно. Вывод слишком много совпадений? Почему он не вывел мне верную координату?
Он находит все точки с заданным цветом, но 3 раза, так как изображение по умолчанию создается в RGB, в первом массиве все координаты x, во втором все координаты y, в третьем индексы цветов, можете конвертировать изображение, чтобы по одной координате находило
Как найти и определить цвет пикселя по координатам на экране.
Иногда нам просто необходимо определить координаты положения курсора мышки в какой-то момент времени. Но как это сделать? Есть несколько способов.
Самым простым, на первый взгляд, очевидным способом является создание скриншота всего экрана и по получившемуся изображению в любой графической программе (Photoshop или Paint) посмотреть координаты нужного пикселя от левого верхнего угла картинки.
Так же, часто разработчику, дизайнеру, художнику или аниматору — людям, которые тесно связаны с графикой, требуется определение цвета пикселя под курсором мышки. И определить цвет пикселя на экране можно точно таким же способом, как и в случае с координатами, описанным выше.
Но что делать, когда требуется определить несколько координат и цветов? Или же эта процедура должна повторяться многократно, что вызывает очень сильный дискомфорт у человека: делать скриншот, загонять его в программу, брать инструмент, высчитывать координаты, другим инструментом определять цвет? Очень неудобно.
Программа для определения координат и цвета пикселя на экране.
В интернете можно попытаться найти подобный софт, который в своем отдалении может помочь решить поставленную задачу, узнать координаты курсора и цвет пикселя под ним. Но, попробуйте найти!
Всё, что попадалось на просторах интернета, похожее на грамотный софт — либо устаревший и нерабочий, либо напичкан вирусами, шпионами и прочими.
Итак, Вашему вниманию предлагается современная программа, которая поможет определить координаты, цвет пикселя и многое другое.
Функционал программы.
Навести курсор мышки на любое место экрана и нажать «Ctrl+1». Программа покажет:
1. Точные координаты курсора мышки.
2. Определит цвет пикселя под курсором в формате RGB.
Дополнительные возможности.
1. Возможность выбрать размер прямоугольника до 100 на 100 пикселей.
2. Программа отобразит выбранный участок в окне.
3. Программа рассчитает средний пиксель (сумму всех пикселей прямоугольника).
4. Программа отобразит значение среднего пикселя в RGB.
5. Программа визуально покажет цвет среднего пикселя в окне (смешать/объединить цветов всех пикселей).
Таким образом, в одной программе совмещаются сразу несколько функций: определение координат под курсором, цвет пикселя под курсором, вычисление среднего суммарного пикселя прямоугольника, и все это сопровождается визуальной картинкой в окне программы, для Вашего удобства!
Программа полностью функционирует, обновляется и поддерживается разработчиком. Так же, при желании, функционал может быть доработан и изменен под Вас.
Копия программы привязывается к конкретному пользователю и к конкретному ПК, обновления и поддержка включены в стоимость программы.
Узнать стоимость программы, оплатить и получить копию программы для определения координат и цвета пикселя на экране Вы можете написав на почту admin@tapbot.ru или по любому удобному каналу связи. Ссылки в подвале сайта.
Видео работы программы:
Ищет на участке экрана пиксель заданного цвета.
Параметры
Имена переменных, в которые помещаются координаты X и Y первого найденного пикселя, отвечающего идентификатору цвета ColorID (если не находится соответствий, переменные будут пустыми). Координаты отсчитываются относительно активного окна, если только это не изменено командой CoordMode.
Любой из этих параметров (или оба) можно оставить пустым, в случае, когда используется ErrorLevel (см. ниже) для определения наличия соответствий.
Координаты X и Y верхнего левого угла прямоугольной области поиска, могут быть выражениями.
Координаты отсчитываются относительно активного окна, если только это не изменено командой CoordMode.
Координаты X и Y правого нижнего угла прямоугольной области поиска, могут быть выражениями.
Координаты отсчитываются относительно активного окна, если только это не изменено командой CoordMode.
Идентификатор цвета в десятичном или шестнадцатеричном формате Синий-Зелёный-Красный (BGR), может быть выражением.
Color ID можно определить, используя приложение Window Spy (доступно из меню в области уведомлений) или через команду PixelGetColor. Например: 0x9d6346
Число от 0 до 255 включительно. Указывает допустимое отклонение от заданного цвета (диапазон оттенков) для красной, зелёной и синей составляющих (может быть выражением). Этот параметр полезен, если искомый цвет находится в определённом интервале оттенков. Если задать диапазон оттенков 255, все цвета будут отвечать этим условиям. По умолчанию равен 0.
Fast: Используется более быстрый метод. Быстрый режим лучше работает с 24 и 32-битными цветами. При быстром режиме просматривается ряд за рядом (сверху вниз) вместо столбца за столбцом. Поэтому, если условиям отвечают несколько пикселей, может быть найден не тот пиксель, что в медленном режиме.
RGB: Значение параметра ColorID будет восприниматься в формате RGB вместо BGR. Другими словами, красная и синяя составляющие меняются местами.
Если присутствуют оба слова- разделяйте их пробелом: Fast RGB.
ErrorLevel
Примечания
Участок поиска должен быть видим; иначе говоря, невозможно провести поиск в части окна, перекрытой другим окном. Напротив, пиксели под курсором мыши обычно определяются. Исключение – игровые курсоры, в большинстве случаев скрывающие пиксели под собой.
Только для медленного режима: По умолчанию поиск начинается с левого верхнего пикселя вниз. Если соответствий не найдено, поиск продолжается в следующей, правой колонке, и т.д. Направление поиска изменится, если поменять местами координаты X1 и X2 в списке параметров.
Так же, если Y1 больше, чем Y2, поиск в каждом столбце пикселей будет начат снизу, а не сверху.
Если область поиска большая и поиск повторяется с большой частотой- может потребляться много времени ЦП. Для повышения быстродействия старайтесь минимизировать область поиска.
Как узнать координаты пикселя на экране
Одной из новых возможностей программы является возможность работы с экраном. Начиная с версии 3.1 Clickermann может «видеть» то, что происходит на экране. Эта возможность позволяет организовать довольно «умные» сценарии. Если раньше программа могла стать руками пользователя, то теперь она может в некоторой степени быть и глазами.
Коды для Цвета в Clickermann
Цвет задается строковой константой в шестнадцатеричном виде. То есть #0000FF соответствует синему цвету.
Непосредственно значение цвета для точки можно узнать в редакторе сценария. Он показывает значение цвета для точки под курсором.
О значении GETSCREEN
Что важно, перед использованием инструкций анализа должен быть сделан снимок экрана при помощи инструкции GETSCREEN. Таким образом инструкции анализируют не текущее состояние экрана, а состояние, полученное через последний GETSCREEN.
Все дело в том, что сам по себе снимок экрана весьма ресурсоемкий. У меня есть сценарий, в котором последовательно идут пятнадцать IF_PIXEL. Если при каждом будет браться новый снимок экрана, программа будет существенно «тормозить». Поэтому целесообразнее один раз (за цикл) снять экран и потом анализировать его сколько угодно раз.
Однако стоить учитывать, что если сценарий большой и содержит временные задержки, то текущее состояние экрана может отличаться от состояния, которое было получено через GETSCREEN неск. секунд назад.
Пример программы анализа пикселей для кликера
Этот фрагмент сценария делает снимок экрана, анализирует его в двух точках, и если они соответствуют цвету #F23A41, с эти точки осуществляется клик.
Еще один пример как делать скриншот в разных режимах цветов:
Решение некоторых проблем при анализе экрана кликером можно посмотреть здесь.