Pipetka v0.0
Pipetka - программа, для взятия цвета пикселя с экрана. Прогой пользоваться можно, но она работает через жопу, так что сами понимаете.
Внимание! программа совсем не оптимизирована.
Pipetka - программа, для взятия цвета пикселя с экрана.
-
- Attachments
-
-
Screenshot.png (2.45 KiB)Viewed 10949 times
-
Pipetka v0.0.7z (9.82 KiB)Downloaded 455 times
-
А в чем собственно это "работает через жопу" выражается?
Самокритика хорошо, но не стоит умалять своего достоинства.
Самокритика хорошо, но не стоит умалять своего достоинства.
Дело в том, что программа иногда выдаёт чёрный цвет в квадрате, в то время когда мышь находится на каком ни-будь пикселе иного цвета и сильное мерцание, меня это очень сильно раздражает. Не могу понять в чём проблема. Раньше конечно мерцание было ещё больше, но все таки мне это не нравится, не люблю когда что-то плохо работает.
Pipetka v0.1
Вышла новая версия.
Исправления:
1. При наведении курсора мышки на окно программы, считывался цвет пиксела с экрана, из-за чего возникало лишнее мерцание мыши.
2. Примерно тоже самое, и с окном "ABOUT". Теперь когда окно открыто, считывания цвет пиксела, не происходит.
Добавлено:
1.Показ координат положения стрелки мыши.
2.Для уменьшения мерцания, добавлен мелкий код с алгоритмом при котором, если новый и старый цвета пиксела одинаковые, то перерисовки данных в окне не происходит.
Вышла новая версия.
Исправления:
1. При наведении курсора мышки на окно программы, считывался цвет пиксела с экрана, из-за чего возникало лишнее мерцание мыши.
2. Примерно тоже самое, и с окном "ABOUT". Теперь когда окно открыто, считывания цвет пиксела, не происходит.
Добавлено:
1.Показ координат положения стрелки мыши.
2.Для уменьшения мерцания, добавлен мелкий код с алгоритмом при котором, если новый и старый цвета пиксела одинаковые, то перерисовки данных в окне не происходит.
- Attachments
-
-
Screenshot.png (3.85 KiB)Viewed 10891 times
-
Pipetka v0.1.7z (11.77 KiB)Downloaded 393 times
-
Отличная работа Добавлю лишь два замечания:
1) Если навести курсор в самый верх экрана (нулевой пиксель по Y) программа грохается.
2) Когда окно не активно, оно по-прежнему показывает цвет. Имхо, надо сделать проверку на активность/неактивность окна Pipetk'и и если окно не активно не реагировать на движение мыши.
1) Если навести курсор в самый верх экрана (нулевой пиксель по Y) программа грохается.
2) Когда окно не активно, оно по-прежнему показывает цвет. Имхо, надо сделать проверку на активность/неактивность окна Pipetk'и и если окно не активно не реагировать на движение мыши.
ушёл...
Вот такой вот код можно применить для проверки того что окно находится на вершине оконного стека:
Вызываемая процедура:
Главный цикл:
И далее проверка при обработке события 6-событие мыши:
Код из OpenDialog.
Code: Select all
START:
call get_active_pocess
...
Code: Select all
get_active_pocess:
mcall 9,procinfo,-1
mov eax,[ebx+30]
mov [PID],eax
xor ecx,ecx
@@:
inc ecx
mcall 9,procinfo
mov eax,[PID]
cmp eax,[ebx+30]
jne @r
mov [active_process],ecx
ret
Code: Select all
still:
mcall 10
cmp eax,1
je red
cmp eax,2
je key
cmp eax,3
je button
cmp eax,6
je mouse
jmp still
Code: Select all
mouse:
mcall 18,7
cmp [active_process],eax
jne still
Полезная программа, когда-то делал такие под DOS и под Win.
Действительно, хорошая и нужная программа, может облегчить много задач художникам и дизайнерам
Mario
Во-первых, вообще-то для поиска слота по PID уже давно можно вместо того, чтобы гонять в цикле 9-ю функцию, просто вызвать 18.21. Во-вторых, в данном случае даже это не нужно, поскольку 9-я функция возвращает позицию в оконном стеке, так что вместо 18.7 и сравнения с заранее вычисленным [active_process] можно просто вызвать 9-ю функцию и сравнить word[ebx+4] с ax.
Во-первых, вообще-то для поиска слота по PID уже давно можно вместо того, чтобы гонять в цикле 9-ю функцию, просто вызвать 18.21. Во-вторых, в данном случае даже это не нужно, поскольку 9-я функция возвращает позицию в оконном стеке, так что вместо 18.7 и сравнения с заранее вычисленным [active_process] можно просто вызвать 9-ю функцию и сравнить word[ebx+4] с ax.
Ушёл к умным, знающим и культурным людям.
Включил в русскоязычный вариант ночной сборки.
Ушёл к умным, знающим и культурным людям.
diamond
Вот я все понимаю, что ты во многом систему знаешь лучше, но неужели тяжело было об этом в кой-либо теме отписать на форуме раньше? Обязательно надо подождать когда кто-нибудь выложит старое (НО РАБОЧЕЕ!) решение. И показать свою гениальность? После этого негодуешь, что на вики информация старая! Не хорошо так...
Вот я все понимаю, что ты во многом систему знаешь лучше, но неужели тяжело было об этом в кой-либо теме отписать на форуме раньше? Обязательно надо подождать когда кто-нибудь выложит старое (НО РАБОЧЕЕ!) решение. И показать свою гениальность? После этого негодуешь, что на вики информация старая! Не хорошо так...
И вообще по твоему посту не понятно что в ax.можно просто вызвать 9-ю функцию и сравнить word[ebx+4] с ax
Что именно? Сообщение о том, что, ура, появилась новая сисфункция 18.21? Дык это было на форуме и без меня. Вызов 9-й функции и проверка состояния оконного стека? Дык это в документации прямо так и написано (один из комментариев к функции 9), мне что, все 200K документации на форум запостить?Mario wrote:Вот я все понимаю, что ты во многом систему знаешь лучше, но неужели тяжело было об этом в кой-либо теме отписать на форуме раньше?
То, что туда записывает функция 9. Как и сказано в документации.Mario wrote:И вообще по твоему посту не понятно что в ax.
Самое интересное, что под оффициальной сборкой (а я именно под ней шкодю), программа работает без проблем, а под ночной сборкой грохается.Nasarus wrote: 1) Если навести курсор в самый верх экрана (нулевой пиксель по Y) программа грохается.
Поправил.
Сделано.Nasarus wrote: 2) Когда окно не активно, оно по-прежнему показывает цвет. Имхо, надо сделать проверку на активность/неактивность окна Pipetk'и и если окно не активно не реагировать на движение мыши.
Mario
Большое спасибо, за код.
diamond
Не совсем понял (я не крутой программист), надо разобираться. Поменяю позъже. Пока вставил код, который любезно предоставил Mario.
- Attachments
-
-
Pipetka v0.2.7z (10.13 KiB)Downloaded 378 times
-
А как у неё со встраиваемостью? Может быть в будущем встроена в графический редактор или что-то подобное?
Встроить можно, если постараться конечно, но эту прогу, я писал на одних макросах из моей либы, которую выкладывать я пока не хочу. Вот если не лень мне будет, то перепишу на чистый АСМ, и выложу исходники.Атауальпа wrote:А как у неё со встраиваемостью?
А зачем она там? - там и так есть пипетка, только код цвета она не показывает, да и код очень простой, что сам разработчик редактора, сам без труда его туда встроет.Атауальпа wrote:Может быть в будущем встроена в графический редактор или что-то подобное?
Я просто хотел сделать независимую прогу, которая облегчила бы создание фейса в разрабатываемой проге или HTML странице, ну или еще где ни-будь.
Who is online
Users browsing this forum: No registered users and 1 guest