Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Рисование в С++ Билдер 6 по рисунку

8.9K
26 января 2006 года
Abadonne
26 / / 26.01.2006
Есть следующая задача:
Есть image - простенькая сетка для удобства рисования.
Есть курсор.
Кликаем по buttonу и получаем возможность рисовать этим самым курсором.
Нарисовать нано ломанную кривую поверх начального image'a

Но это ещё не сё. Есть второй button кликаем по нему и получаем возможность выбирать на искомой ломаной точку.

Кроме того прога должна ругаться громким матом, если при попытке выбрать точку на кривой кликаем мимо кривой.

Кроме того желательна возможность сохранения/загрузки искомой кривой.

Кто нить что нить подобное реализовывал. Может у кого есть подобные сорцы... Или хотя бы идеи по реализации. Т.к. я рисованием в С++ не занимался совсем...

Язык: Borland С++ Builder 6

Заранее всем премного благодарен.
1
26 января 2006 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by Abadonne
Есть следующая задача:
Есть image - простенькая сетка для удобства рисования.
Есть курсор.
Кликаем по buttonу и получаем возможность рисовать этим самым курсором.
Нарисовать нано ломанную кривую поверх начального image'a

Но это ещё не сё. Есть второй button кликаем по нему и получаем возможность выбирать на искомой ломаной точку.

Кроме того прога должна ругаться громким матом, если при попытке выбрать точку на кривой кликаем мимо кривой.

Кроме того желательна возможность сохранения/загрузки искомой кривой.

Кто нить что нить подобное реализовывал. Может у кого есть подобные сорцы... Или хотя бы идеи по реализации. Т.к. я рисованием в С++ не занимался совсем...

Язык: Borland С++ Builder 6

Заранее всем премного благодарен.



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

З.Ы.
Но вообще, прежде чем браться за подобные проекты, стоит зайти в гугл и поискать литературу - существует целый ряд книг, подробно описывающих как работать с изображениями, что необходимо учитывать при проектировании подобных систем и т.п., благо объем инфы весьма и весьма не малый и описывать тебе все это в теме - дело крайне не благодарное.

8.9K
27 января 2006 года
Abadonne
26 / / 26.01.2006
Огромное спасибо за ответ.
1
27 января 2006 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by Abadonne
Огромное спасибо за ответ.


В принципе мне приходилось реализовывать нечто подобное - но во первых, объем проекта не слишком маленький честно говоря, во вторых, даже я уже не помню с чего и какие решения я использовал - но программа работала довольно шустро. Для хранения параметров я использовал парадоксовскую базу - ну и начинал именно так. Самые большие бока у меня были кстати до тех пор, пока я не понял, что мало определить функцию рисования для нужных мен примитивов - необходимо определять контейнер холста обязательно - его обязаность - чтение и выгрузка изображения а также задачи связанные с координатной сеткой и перерисовкой.

8.9K
27 января 2006 года
Abadonne
26 / / 26.01.2006
Ещё раз спасибо...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог