Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2010, 19:15   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Вопрос Изменение размеров фигур

Есть в голове у меня одна идея для написании одной интересующей программы. В ней мне нужно изменять размеры фигур. Нужна ваша консультация. Как сделать замедленное увеличение фигуры? Например прямоугольник. Пример я сделал ввиде ролика.
Вложения
Тип файла: zip 123.zip (8.7 Кб, 14 просмотров)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 03.03.2010, 20:16   #2
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Как и любую анимацию. Стираешь фигуру в ее предыдущих координатах, рисуешь в новых с новым размером. Смотри в DW примеры "резинового прямоугольника", суть та же, думаю идеи полезные извлечешь оттуда.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 03.03.2010, 21:40   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Нате вам "наколку", дальше доработаете:
Код:
var
  Form1: TForm1;
  impr: boolean;
  
implementation
...
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
impr:=True;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
impr:=False;
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
if not impr then
exit;
Image1.Height:=Round(Image1.Height/2)+y;
Image1.Width:=Round(Image1.Width/2)+x;     
end;
mihali4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение размеров фигур...с помощью TTrackBar и Tshape oblachko Помощь студентам 2 28.06.2009 18:39
Изменение размеров цикла mchip Microsoft Office Excel 6 16.03.2009 13:21
Изменение размеров pinksky Microsoft Office Excel 3 18.04.2008 15:52
Изменение размеров элементов romets Win Api 2 18.02.2008 23:28