Показать сообщение отдельно
  #14  
Старый 24.04.2013, 17:12
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

План действий примерно такой:
1. Свести к минимуму обращение к VCL компонентам (в идеале обращение только к Edit'у и уже тем более никаких TImage)
2. Прочитать 1 пункт 50 раз.
3. Не пересчитывать все время количество белых точек.
Сделать например так (упрощенно, лучше конечно класс сделать):
Код:
type
  TTemplate = record
    bitmap:TBitmap;
    whitecount:integer;
    mask:array of array of boolean;
  end;
картинки загрузить в bitmap из файлов при инициализации потока, посчитать количество белых точек записать в whitecount, установить размеры массива маски равные размеру картинки и заполнить false в координатах белых точек (это понадобится для того чтобы избавится от проверки "а не белая ли точка на шаблоне", и съэкономит время)
4. Загрузить из файла картинку с капчей (тож в TBitmap) и с ней уже производить сравнения.
5. После всего через синхронайз вывести данные на форму.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием