Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вт июл 25, 2017 3:34 pm

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




Начать новую тему  Ответить на тему  [ 19 сообщений ]  На страницу 1 2 След.
Автор Сообщение
 Заголовок сообщения: Графический редактор
СообщениеДобавлено: Сб апр 15, 2006 9:04 pm 
Пишу графический редактор. Буды очень благодарен любой помощи.

http://maxxxx32.narod.ru/mpaint.7z


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Сб апр 15, 2006 9:23 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 19, 2005 4:43 pm
Сообщения: 896
Я тоже пишу графический редактор растровой графики.
http://www.menuetosgame.narod.ru/games/animage.png

Нам еще нужен редактор векторной графики.Не хочу никому ничего навязывать,но может быть ты займешся редактором векторной графики.У меня уже есть несколько функций рисующих: линию(алгоритм Брезенхема),прямоугольник,окружность(алгоритм Брезенхема).Если нужно могу выложить.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Сб апр 15, 2006 9:34 pm 
До векторной графики я еще не дорос, поэтому хочу начать с растровой графики.


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Сб апр 15, 2006 9:35 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 19, 2005 4:43 pm
Сообщения: 896
Сейчас смотрел мсходники.
Рекомендую выделять память под картинку не статически,а динамически при помощи 64 функции.А также сделать подстройку рабочей области под размер окна программы.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Сб апр 15, 2006 9:37 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 19, 2005 4:43 pm
Сообщения: 896
Правильно -нужно начинать с растровой.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Сб апр 15, 2006 9:37 pm 
Сначала я хочу написать основные алгоритмы: рисование линий, прямоугольников, заливка.


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Сб апр 15, 2006 9:41 pm 
Еще есть маленькая проблемка: было задумано так, что при первом нажатии на кнопку "colors" появляется окно, где можно выбрыть цвет, а при втором нажатии это окно закрывается. PID, который я получаю при запуске нового потока и номер процесса это одно и то же?


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Сб апр 15, 2006 11:23 pm 
Эти цветные кнопки я собираюсь использовать в своей программе. Можно ли это сделать проще ? У меня получился очень большой код.Изображение
http://maxxxx32.narod.ru/colors.7z


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Вс апр 16, 2006 11:12 am 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 19, 2005 4:43 pm
Сообщения: 896
Конечно можно.

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

2)Реализовать действие пункта 1) ввиде цикла по X и Y(расстановка кнопок по горизонтали с переходом,при достижения края,на новую строки).


Вот так я и сделал в своём редакторе.Это заняло примерно 100 байт кода (без учета таблицы цветов).


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 17, 2006 11:32 am 
Сделал все ввиде цикла. Панель рисуется вызовом одной подпрограммы. Подпрограмме в регистрах надо оставить указатель на структуру в памяти и номер самой первой кнопки. Структура получилась довольно большая: в ней надо указать положение панели, цвет фона, размеры кнопок, количество кнопок, расстояние между кнопками, размер рамки вокруг кнопок; за структурой следует таблица цветов. Есть процедура, которая возвращает цвет по номеру кнопки, которую следует вызвать в обработчике нажатия на кнопку.
Собираюсь сделать ввиде inc файла.


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 17, 2006 6:34 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
Для процессов и потоков (в документации они мало отличаются) есть две характеристики: PID и номер слота. Что это такое, описано в
http://shade.msu.ru/~msu-se/klbr_doc/09.htm

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


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 17, 2006 7:02 pm 
diamond
Спасибо за отличную документацию.


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 17, 2006 10:41 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Сб мар 04, 2006 12:53 am
Сообщения: 221
diamond
Присоединяюсь :)


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Вт апр 18, 2006 11:00 am 
Алгоритмы компьютерной графики:
http://docs.h1.ru/algcompgr.html


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Ср апр 19, 2006 4:06 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
Maxxxx32, AquAS
Спасибо, конечно, но вообще-то документация обсуждается в теме
http://meos.sysbin.com/viewtopic.php?p=5117

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


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

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


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

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


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

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