Board.KolibriOS.org

Official KolibriOS board
It is currently Sun Dec 15, 2019 3:49 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 19 posts ]  Go to page 1 2 Next
Author Message
PostPosted: Sat Apr 15, 2006 9:04 pm 
Пишу графический редактор. Буды очень благодарен любой помощи.

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


Top
   
 Post subject:
PostPosted: Sat Apr 15, 2006 9:23 pm 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
Я тоже пишу графический редактор растровой графики.
http://www.menuetosgame.narod.ru/games/animage.png

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


Top
   
 Post subject:
PostPosted: Sat Apr 15, 2006 9:34 pm 
До векторной графики я еще не дорос, поэтому хочу начать с растровой графики.


Top
   
 Post subject:
PostPosted: Sat Apr 15, 2006 9:35 pm 
Offline
User avatar

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


Top
   
 Post subject:
PostPosted: Sat Apr 15, 2006 9:37 pm 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
Правильно -нужно начинать с растровой.


Top
   
 Post subject:
PostPosted: Sat Apr 15, 2006 9:37 pm 
Сначала я хочу написать основные алгоритмы: рисование линий, прямоугольников, заливка.


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


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


Top
   
 Post subject:
PostPosted: Sun Apr 16, 2006 11:12 am 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
Конечно можно.

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

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


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


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


Top
   
 Post subject:
PostPosted: Mon Apr 17, 2006 6:34 pm 
Offline
Kernel Developer
User avatar

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

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


Top
   
 Post subject:
PostPosted: Mon Apr 17, 2006 7:02 pm 
diamond
Спасибо за отличную документацию.


Top
   
 Post subject:
PostPosted: Mon Apr 17, 2006 10:41 pm 
Offline
User avatar

Joined: Sat Mar 04, 2006 12:53 am
Posts: 221
diamond
Присоединяюсь :)


Top
   
 Post subject:
PostPosted: Tue Apr 18, 2006 11:00 am 
Алгоритмы компьютерной графики:
http://docs.h1.ru/algcompgr.html


Top
   
 Post subject:
PostPosted: Wed Apr 19, 2006 4:06 pm 
Offline
Kernel Developer
User avatar

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

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


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 19 posts ]  Go to page 1 2 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited