Подготовка картинки для Findimage
Содержание
Подготовка картинки
Если картинка статична и не меняется, то достаточно вырезать нужную часть.
Обычно не требуется вырезать картинку с точностью до пикселя. Можно искать лишь небольшую часть.
Нужно найти картинку 24*24 пикселя:
Можно искать её целиком:
Но, вполне достаточно 10*10:
Левый верхний пиксель желательно (но, не обязательно) закрасить в любой цвет, которого нет в картинке.
Подготовка картинки для поиска текста в чате Lineage2
Чат прозрачный и цвет фона меняется, поэтому его не нужно учитывать при поиске текста.
1. Открыть Paint, Photoshop или другую программу для редактирования изображений.
2. Вырезать текст, который нужно найти. Для удобства можно увеличить картинку.
4. Выбрать инструмент карандаш (не кисточка) или заливка.
3. Закрасить фон (или то, что не нужно учитывать при поиске) и левый верхний пиксель, обязательно в один цвет (любой).
4. Сохранить картинку в формате bmp 24 бита.
Для примера, нужно найти Hello в чате.
При увеличении слово Hello будет выглядеть так:
Если искать картинку в таком виде, то она, скорее всего, не найдётся. Т. к. фон везде разный.
Поэтому, закрашиваем левый верхний пиксель и фон в один и тот же цвет. Любой цвет, это не имеет значения, т. к. он будет игнорироваться при поиске.
Теперь, можно использовать картинку для поиска.
Не забывайте про параметр deviation (погрешность оттенка) в Findimage.
Также, можно искать текст полоской высотой в 1 пиксель.
Подготовка картинки для поиска части изображения
Нужно найти предмет, который находится в красной рамке. Т. к. предметов в игре много делать для каждого картинку нет смысла.
Можно искать красную рамку.
Вырезаем рамку и закрашиваем всё лишнее любым цветом и обязательно в этот же цвет левый верхний пиксель, теперь, всё что закрашено в цвет левого верхнего пикселя не будет сравниваться. Т. е. будет искаться только рамка.
Не забываем, формат картинки должен быть bmp 24 бита.
Пример, когда фон закрашивать не нужно или закрашивать частично
Нужно найти кнопку. Можно вырезать её и искать.
Но, при при наведении на неё курсора она подсвечивается, в итоге не будет находится, если курсор оказался над ней.
Если закрасить весь зелёный фон, добавить в параметры FindImage deviation (погрешность оттенка), то открыв блокнот, картинка будет найдена.
Потому что буквы белого цвета на белом фоне блокнота будут найдены, фон ведь не учитывается.
Т. е. вариант с закрашивание фона не подходит. Можно конечно сделать 2 картинки, одну в обычном состоянии, вторую в подсвеченом.
Но зачем делать и искать две картинки, когда можно обойтись одной.
Вариант 1:
Оставляем часть фона, которая не меняется или меняется не сильно.
Вариант 2:
Ищем не текст кнопки, а её края, они не меняются при наведении курсора на кнопку.