Пишу графический редактор. Буды очень благодарен любой помощи.
http://maxxxx32.narod.ru/mpaint.7z
Графический редактор
Я тоже пишу графический редактор растровой графики.
http://www.menuetosgame.narod.ru/games/animage.png
Нам еще нужен редактор векторной графики.Не хочу никому ничего навязывать,но может быть ты займешся редактором векторной графики.У меня уже есть несколько функций рисующих: линию(алгоритм Брезенхема),прямоугольник,окружность(алгоритм Брезенхема).Если нужно могу выложить.
http://www.menuetosgame.narod.ru/games/animage.png
Нам еще нужен редактор векторной графики.Не хочу никому ничего навязывать,но может быть ты займешся редактором векторной графики.У меня уже есть несколько функций рисующих: линию(алгоритм Брезенхема),прямоугольник,окружность(алгоритм Брезенхема).Если нужно могу выложить.
До векторной графики я еще не дорос, поэтому хочу начать с растровой графики.
Сейчас смотрел мсходники.
Рекомендую выделять память под картинку не статически,а динамически при помощи 64 функции.А также сделать подстройку рабочей области под размер окна программы.
Рекомендую выделять память под картинку не статически,а динамически при помощи 64 функции.А также сделать подстройку рабочей области под размер окна программы.
Правильно -нужно начинать с растровой.
Сначала я хочу написать основные алгоритмы: рисование линий, прямоугольников, заливка.
Еще есть маленькая проблемка: было задумано так, что при первом нажатии на кнопку "colors" появляется окно, где можно выбрыть цвет, а при втором нажатии это окно закрывается. PID, который я получаю при запуске нового потока и номер процесса это одно и то же?
Эти цветные кнопки я собираюсь использовать в своей программе. Можно ли это сделать проще ? У меня получился очень большой код.
http://maxxxx32.narod.ru/colors.7z
http://maxxxx32.narod.ru/colors.7z
Конечно можно.
1)Нужно установкой соответствующего бита создать неотрисовываемую кнопку(она будет нормально функционировать).
На месте неотрисовываемой кнопки нужно нарисовать цветной прямоугольник,соответствующий цвету рисования.
2)Реализовать действие пункта 1) ввиде цикла по X и Y(расстановка кнопок по горизонтали с переходом,при достижения края,на новую строки).
Вот так я и сделал в своём редакторе.Это заняло примерно 100 байт кода (без учета таблицы цветов).
1)Нужно установкой соответствующего бита создать неотрисовываемую кнопку(она будет нормально функционировать).
На месте неотрисовываемой кнопки нужно нарисовать цветной прямоугольник,соответствующий цвету рисования.
2)Реализовать действие пункта 1) ввиде цикла по X и Y(расстановка кнопок по горизонтали с переходом,при достижения края,на новую строки).
Вот так я и сделал в своём редакторе.Это заняло примерно 100 байт кода (без учета таблицы цветов).
Сделал все ввиде цикла. Панель рисуется вызовом одной подпрограммы. Подпрограмме в регистрах надо оставить указатель на структуру в памяти и номер самой первой кнопки. Структура получилась довольно большая: в ней надо указать положение панели, цвет фона, размеры кнопок, количество кнопок, расстояние между кнопками, размер рамки вокруг кнопок; за структурой следует таблица цветов. Есть процедура, которая возвращает цвет по номеру кнопки, которую следует вызвать в обработчике нажатия на кнопку.
Собираюсь сделать ввиде inc файла.
Собираюсь сделать ввиде inc файла.
Для процессов и потоков (в документации они мало отличаются) есть две характеристики: PID и номер слота. Что это такое, описано в
http://shade.msu.ru/~msu-se/klbr_doc/09.htm
http://shade.msu.ru/~msu-se/klbr_doc/09.htm
Ушёл к умным, знающим и культурным людям.
diamond
Спасибо за отличную документацию.
Спасибо за отличную документацию.
diamond
Присоединяюсь
Присоединяюсь
Алгоритмы компьютерной графики:
http://docs.h1.ru/algcompgr.html
http://docs.h1.ru/algcompgr.html
Maxxxx32, AquAS
Спасибо, конечно, но вообще-то документация обсуждается в теме
http://meos.sysbin.com/viewtopic.php?p=5117
Спасибо, конечно, но вообще-то документация обсуждается в теме
http://meos.sysbin.com/viewtopic.php?p=5117
Ушёл к умным, знающим и культурным людям.
Who is online
Users browsing this forum: No registered users and 2 guests