Page 1 of 8

Palitra

Posted: Thu Aug 30, 2012 4:07 pm
by Akyltist
Программа для взятия цвета с палитры. Палитра более менее упорядочена по цвету, считается динамически. Позднее хочу прикрутить вывод значений rgb и трекбары для ручной регуляции.

Image

Исходник + несжатый бинарник (582b):
Скачать

Лицензия MIT.

PS: Как передать системное сообщение в уже запущенную программу? Хочу сделать что-то вроде ColorDialog.

Re: Palitra

Posted: Thu Aug 30, 2012 4:44 pm
by Leency
Выглядит охуенно. 5+

Re: Palitra

Posted: Fri Aug 31, 2012 11:33 am
by Leency
А слабо сделать версию программы, чтобы при нажатии на цвет заливался фон этим цветом? Я бы в дистре сделал её программой для смены фона.

Re: Palitra

Posted: Fri Aug 31, 2012 11:59 am
by XVilka
Хочу сделать что-то вроде ColorDialog.
Так что в текущую программу смены фона добавить вызов ColorDialog и все

Re: Palitra

Posted: Fri Aug 31, 2012 12:29 pm
by Akyltist
Leency wrote:Выглядит охуенно. 5+
Leency wrote:А слабо сделать версию программы, чтобы при нажатии на цвет заливался фон этим цветом? Я бы в дистре сделал её программой для смены фона.
XVilka wrote:
Хочу сделать что-то вроде ColorDialog.
Так что в текущую программу смены фона добавить вызов ColorDialog и все
Leency - спасибо за оценку. Стимулирует продолжать работать.
Вариант XVilka больше нравится. Более унифицирован. Только по прежнему не могу понять как передать данные в другую программу. Толи как то общую область памяти выделять, то ли готовую функцию ядра проглядел.
Как это организовано в OpenDialog??? Пытаюсь пока понять, но что-то как то медленно!

Re: Palitra

Posted: Fri Aug 31, 2012 12:52 pm
by art_zh
http://wiki.kolibrios.org/wiki/SysFn60/ru

http://wiki.kolibrios.org/wiki/SysFn68/ru (п/ф 22 и 23)

переустановить фон очень просто, можно прямо из твоего окошка: http://wiki.kolibrios.org/wiki/SysFn15/ru

Re: Palitra

Posted: Fri Aug 31, 2012 2:21 pm
by Leency
Текущая программа "Генератор обоев" редкосное говно мамонта. Но если будет в виде диалога, я только за. Тогда его можно будет прикрутить к многим программам, в т.ч. и к диалогу выбора обоев.

Re: Palitra

Posted: Fri Aug 31, 2012 2:31 pm
by Mario
Вот как засяду осенью, как сделаю ColorDialog - just as planned...

Re: Palitra

Posted: Fri Aug 31, 2012 4:50 pm
by FireWall
У меня программа при нажатии на цвета просто завершает исполнение без какого-либо видимого эффекта - это так задумано ?

Re: Palitra

Posted: Fri Aug 31, 2012 5:16 pm
by Akyltist
мда, акела помахнулся файлом (((
прилагаю рабочий

Re: Palitra

Posted: Fri Aug 31, 2012 6:41 pm
by Leency
А исходник там то, что надо?

Re: Palitra

Posted: Fri Aug 31, 2012 8:11 pm
by hidnplayr
Looks very nice, but it seems not all colors are shown, and first two square look identical to me.

Re: Palitra

Posted: Fri Aug 31, 2012 8:15 pm
by 0CodErr
Нажимаем клавишу на клавиатуре.
Перемещаем окно.
Результат:
Image
Скорее всего, потому что отсутствует обработка нажатия клавиатуры.
Можно или просто считывать код клавиши из буфера, или установить соответствующую маску событий.

Из исходника:
;.................................................................................................
; Берем цвет с палитры в переменную
;.................................................................................................
mov eax,35 ; Функция взятия цвета
;mov ebx,ecx ;; ebx = y*xsize+x (лишний код)
int 0x40 ; Получаем цвет в eax
cmp eax,[sc.work] ; Сравниваем с фоном приложения
je mouse_exit ; Если это он - то ничего не делаем

cmp eax,0x222222 ; Сравниваем с цветом сетки
je mouse_exit ; Если это он - то ничего не делаем
mov [color],eax ; Иначе запоминаем новый цвет
call draw_result ; Выводим результат
mouse_exit:
ret ; Возвращаем управление
;end_mouse_get----------------------------------------------------------------------------------------
Будет работать неправильно, если палитра содержит цвет фона.

Re: Palitra

Posted: Fri Aug 31, 2012 8:20 pm
by Serge
А как насчёт названия ? Palitra это транслитерация с русского.

Re: Palitra

Posted: Fri Aug 31, 2012 8:50 pm
by hidnplayr
Serge wrote:А как насчёт названия ? Palitra это транслитерация с русского.
I think it has a certain charme, instead of borring 'pallet'.