![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
SeregaR1Val |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 37 Пол: Мужской Реальное имя: Серёга Репутация: ![]() ![]() ![]() |
Добрый день! Необходимо написать графический редактор следующего вида:
Окно разбито на 2 части, в левой вводятся параметры фигуры, в правой она отрисовывается. Например: для начала задан прямоугольник высотой 50 и шириной 100. Указываем высоту - 25, на ней ширина 50 и фигура должна преобразоваться, приняв форму песочных часов и далее в этом духе. Надеюсь нормально объяснил... Программу еще не начал, код писать не прошу, необходима консультация в том, какие элементы выбрать для разработки, TPaintBox или TImage и т.д. и как лучше всё это отрисовывать, может кто может дать совет? |
![]() ![]() |
RussoTuristo |
![]()
Сообщение
#2
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 80 Пол: Мужской Репутация: ![]() ![]() ![]() |
Форма-то заново не создается и не уничтожается, деструкторы походу оттуда не работают, поэтому и помещал их в кнопку, т.к. в момент нажатия они должны уничтожаться:
procedure TForm1.FormDestroy(Sender: TObject); Без ошибок и без результатов. и вопросик по поводу StretchDraw: Моя логика, решил не строить от середины, почему-то не удобно: Создаем в памяти изображение нужной ширины+50, и высоты+50: // 50 отведено на небольшие подписи img.Width:=l+50; Рисуем на нём всё, что нужно Создаем область необходимого размера(место, выделенное под фигуру на форме): MyRect := Rect(0,0,250,450); Вставляем в Image1 наше изображение, сжатое/растянутое до размеров этой области: Image1.Canvas.StretchDraw(MyRect, Image1.Picture.Graphic); По моей логике все нормально, но чувствую она далека от идеала.... Подскажите, пожалуйста, что делаю не так? Сообщение отредактировано: RussoTuristo - 9.02.2011 10:54 |
![]() ![]() |
![]() |
Текстовая версия | 7.07.2025 12:47 |