![]() |
Модераторы: Snowy, Alexeis, MetalFan |
![]() ![]() ![]() |
|
furious |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 28.10.2009 Репутация: нет Всего: нет |
Вобщем есть задача сделать граф. редактор, типа паинта, пока получилось только так:
Вопрос: как сделать чтоб фигуры рисовались нормально? |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Что значит нормально?
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
furious |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 28.10.2009 Репутация: нет Всего: нет |
ну там типа следы остаются после увеличения/уменьшения фигуры
дописал вот так paintbox1.refresh; a:=spinedit1.Value; paintbox1.Canvas.Pen.Width:=a; paintbox1.Canvas.Ellipse(start.X,start.Y,x,y); ток потом если нарисовать еще один круг, то предыдущий стирается я в панике ![]() Это сообщение отредактировал(а) furious - 28.10.2009, 23:37 Присоединённый файл ( Кол-во скачиваний: 22 ) ![]() |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Так нужно стирать все и рисовать заново при каждом изменении.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
furious |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 28.10.2009 Репутация: нет Всего: нет |
дописал вот так
paintbox1.refresh; a:=spinedit1.Value; paintbox1.Canvas.Pen.Width:=a; paintbox1.Canvas.Ellipse(start.X,start.Y,x,y); только потом если нарисовать еще один круг, то предыдущий стирается |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Правильно, потому что предыдущее изображение нужно хранить и восстанавливать. Либо векторно, как набор примитивов, либо как картинку, т.е. битмап. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
furious |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 28.10.2009 Репутация: нет Всего: нет |
а можно это в виде кода, потому что я мало что понял - нубас (
|
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Класс TBitmap умеет хранить картинку. Каждый новый кадр, рисуется так. Сначала на канву рисуется содержимое TBitmap затем новый примитив. Когда примитив закончили рисовать, его повторно рисуют, но уже на битмап, так чтобы в следующий раз его можно было восстановить нарисовав битмап на канве.
Спать хоцца ![]() -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
furious |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 28.10.2009 Репутация: нет Всего: нет |
ну напишите плиз когда сможете, я то попробуй, но не думаю что что-то из этого выйдет
|
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
furious |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 28.10.2009 Репутация: нет Всего: нет |
undeclared identifier: "SetSize"
Это сообщение отредактировал(а) furious - 29.10.2009, 13:18 |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Думаю невелика проблема поправить
![]() Добавлено через 35 секунд Этого метода нет в старых версиях Delphi 7 и ниже... -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
furious |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 28.10.2009 Репутация: нет Всего: нет |
а как поправит-то?
delphi 7 как версия хз можно как-нибудь без этого? и за что setsize отвечает ? Это сообщение отредактировал(а) furious - 29.10.2009, 13:36 |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Наверное она делает, что-то невероятно заумное и сложное, но никак не меняет ширину и высоту Битмапа. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
furious |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 28.10.2009 Репутация: нет Всего: нет |
![]() кароче как было так все и осталось ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Звук, графика и видео" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |