Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Ср май 24, 2017 1:28 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 26 сообщений ]  На страницу 1 2 След.
Автор Сообщение
СообщениеДобавлено: Пт июн 04, 2010 6:19 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пн фев 09, 2009 4:13 am
Сообщения: 445
Pipetka v0.0

Pipetka - программа, для взятия цвета пикселя с экрана. Прогой пользоваться можно, но она работает через жопу, так что сами понимаете. :D
Внимание! программа совсем не оптимизирована.


Вложения:
Screenshot.png
Screenshot.png [ 2.45 КБ | 2012 просмотров ]
Pipetka v0.0.7z [9.82 КБ]
114 скачиваний

_________________
\ Маузер в руке, Путин – на крюке! \ Путину – клизму! Смерть капитализму! \ Путин – параша, победа будет наша!\
\ Застрели буржуя в спину! Он не лучше чем скотина! \
Изображение
Вернуться к началу
СообщениеДобавлено: Пт июн 04, 2010 9:59 am 
А в чем собственно это "работает через жопу" выражается?
Самокритика хорошо, но не стоит умалять своего достоинства.


Вернуться к началу
   
СообщениеДобавлено: Пт июн 04, 2010 2:32 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн фев 09, 2009 4:13 am
Сообщения: 445
Дело в том, что программа иногда выдаёт чёрный цвет в квадрате, в то время когда мышь находится на каком ни-будь пикселе иного цвета и сильное мерцание, меня это очень сильно раздражает. Не могу понять в чём проблема. Раньше конечно мерцание было ещё больше, но все таки мне это не нравится, не люблю когда что-то плохо работает. :(

_________________
\ Маузер в руке, Путин – на крюке! \ Путину – клизму! Смерть капитализму! \ Путин – параша, победа будет наша!\
\ Застрели буржуя в спину! Он не лучше чем скотина! \
Изображение


Вернуться к началу
СообщениеДобавлено: Вс июн 06, 2010 2:16 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пн фев 09, 2009 4:13 am
Сообщения: 445
Pipetka v0.1

Вышла новая версия. :D

Исправления:
1. При наведении курсора мышки на окно программы, считывался цвет пиксела с экрана, из-за чего возникало лишнее мерцание мыши.
2. Примерно тоже самое, и с окном "ABOUT". Теперь когда окно открыто, считывания цвет пиксела, не происходит.

Добавлено:
1.Показ координат положения стрелки мыши.
2.Для уменьшения мерцания, добавлен мелкий код с алгоритмом при котором, если новый и старый цвета пиксела одинаковые, то перерисовки данных в окне не происходит.


Вложения:
Screenshot.png
Screenshot.png [ 3.85 КБ | 1954 просмотра ]
Pipetka v0.1.7z [11.77 КБ]
59 скачиваний

_________________
\ Маузер в руке, Путин – на крюке! \ Путину – клизму! Смерть капитализму! \ Путин – параша, победа будет наша!\
\ Застрели буржуя в спину! Он не лучше чем скотина! \
Изображение
Вернуться к началу
СообщениеДобавлено: Вс июн 06, 2010 2:42 am 
Не в сети
Аватара пользователя

Зарегистрирован: Ср янв 27, 2010 10:59 am
Сообщения: 269
Отличная работа :) Добавлю лишь два замечания:
1) Если навести курсор в самый верх экрана (нулевой пиксель по Y) программа грохается.
2) Когда окно не активно, оно по-прежнему показывает цвет. Имхо, надо сделать проверку на активность/неактивность окна Pipetk'и и если окно не активно не реагировать на движение мыши.

_________________
ушёл...


Вернуться к началу
СообщениеДобавлено: Вс июн 06, 2010 10:47 am 
Вот такой вот код можно применить для проверки того что окно находится на вершине оконного стека:
Код:
START:
   call   get_active_pocess
...

Вызываемая процедура:
Код:
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

Главный цикл:
Код:
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

И далее проверка при обработке события 6-событие мыши:
Код:
mouse:
   mcall   18,7
   cmp   [active_process],eax
   jne   still


Код из OpenDialog.


Вернуться к началу
   
СообщениеДобавлено: Вс июн 06, 2010 3:07 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт июн 27, 2008 3:22 pm
Сообщения: 971
Полезная программа, когда-то делал такие под DOS и под Win.


Вернуться к началу
СообщениеДобавлено: Вс июн 06, 2010 3:11 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт мар 01, 2007 7:57 pm
Сообщения: 834
Действительно, хорошая и нужная программа, может облегчить много задач художникам и дизайнерам

_________________
Всех выше те, кто доброе творят,
И за дела добра не ждут наград,
Всем жертвуют для страждущих людей,
Не думая о выгоде своей.


Вернуться к началу
СообщениеДобавлено: Пн июн 07, 2010 12:46 am 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
Mario
Во-первых, вообще-то для поиска слота по PID уже давно можно вместо того, чтобы гонять в цикле 9-ю функцию, просто вызвать 18.21. Во-вторых, в данном случае даже это не нужно, поскольку 9-я функция возвращает позицию в оконном стеке, так что вместо 18.7 и сравнения с заранее вычисленным [active_process] можно просто вызвать 9-ю функцию и сравнить word[ebx+4] с ax.

_________________
Ушёл к умным, знающим и культурным людям.


Вернуться к началу
СообщениеДобавлено: Пн июн 07, 2010 1:46 am 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
Включил в русскоязычный вариант ночной сборки.

_________________
Ушёл к умным, знающим и культурным людям.


Вернуться к началу
СообщениеДобавлено: Пн июн 07, 2010 9:00 am 
diamond
Вот я все понимаю, что ты во многом систему знаешь лучше, но неужели тяжело было об этом в кой-либо теме отписать на форуме раньше? Обязательно надо подождать когда кто-нибудь выложит старое (НО РАБОЧЕЕ!) решение. И показать свою гениальность? После этого негодуешь, что на вики информация старая! Не хорошо так...
Цитата:
можно просто вызвать 9-ю функцию и сравнить word[ebx+4] с ax

И вообще по твоему посту не понятно что в ax.


Вернуться к началу
   
СообщениеДобавлено: Пн июн 07, 2010 11:16 am 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
Mario писал(а):
Вот я все понимаю, что ты во многом систему знаешь лучше, но неужели тяжело было об этом в кой-либо теме отписать на форуме раньше?

Что именно? Сообщение о том, что, ура, появилась новая сисфункция 18.21? Дык это было на форуме и без меня. Вызов 9-й функции и проверка состояния оконного стека? Дык это в документации прямо так и написано (один из комментариев к функции 9), мне что, все 200K документации на форум запостить?
Mario писал(а):
И вообще по твоему посту не понятно что в ax.

То, что туда записывает функция 9. Как и сказано в документации.


Вернуться к началу
СообщениеДобавлено: Ср июн 09, 2010 1:09 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пн фев 09, 2009 4:13 am
Сообщения: 445
Nasarus писал(а):
1) Если навести курсор в самый верх экрана (нулевой пиксель по Y) программа грохается.

Самое интересное, что под оффициальной сборкой (а я именно под ней шкодю), программа работает без проблем, а под ночной сборкой грохается.

Поправил.

Nasarus писал(а):
2) Когда окно не активно, оно по-прежнему показывает цвет. Имхо, надо сделать проверку на активность/неактивность окна Pipetk'и и если окно не активно не реагировать на движение мыши.

Сделано.

Mario

Большое спасибо, за код.

diamond

Не совсем понял (я не крутой программист), надо разобираться. Поменяю позъже. Пока вставил код, который любезно предоставил Mario.


Вложения:
Pipetka v0.2.7z [10.13 КБ]
61 скачивание

_________________
\ Маузер в руке, Путин – на крюке! \ Путину – клизму! Смерть капитализму! \ Путин – параша, победа будет наша!\
\ Застрели буржуя в спину! Он не лучше чем скотина! \
Изображение
Вернуться к началу
СообщениеДобавлено: Ср июн 09, 2010 5:34 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт мар 01, 2007 7:57 pm
Сообщения: 834
А как у неё со встраиваемостью? Может быть в будущем встроена в графический редактор или что-то подобное?

_________________
Всех выше те, кто доброе творят,
И за дела добра не ждут наград,
Всем жертвуют для страждущих людей,
Не думая о выгоде своей.


Вернуться к началу
СообщениеДобавлено: Чт июн 10, 2010 3:27 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пн фев 09, 2009 4:13 am
Сообщения: 445
Атауальпа писал(а):
А как у неё со встраиваемостью?

Встроить можно, если постараться конечно, но эту прогу, я писал на одних макросах из моей либы, которую выкладывать я пока не хочу. Вот если не лень мне будет, то перепишу на чистый АСМ, и выложу исходники.

Атауальпа писал(а):
Может быть в будущем встроена в графический редактор или что-то подобное?

А зачем она там? - там и так есть пипетка, только код цвета она не показывает, да и код очень простой, что сам разработчик редактора, сам без труда его туда встроет.

Я просто хотел сделать независимую прогу, которая облегчила бы создание фейса в разрабатываемой проге или HTML странице, ну или еще где ни-будь.

_________________
\ Маузер в руке, Путин – на крюке! \ Путину – клизму! Смерть капитализму! \ Путин – параша, победа будет наша!\
\ Застрели буржуя в спину! Он не лучше чем скотина! \
Изображение


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 26 сообщений ]  На страницу 1 2 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB