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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2012, 13:04   #11
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Ошибку можно просто игнорировать (там есть такая кнопка, вроде) - эта ошибка возникает из-за того, что в Delphi 2010 есть такое свойство у формы, включающее двойную буферизацию.
Чтобы рисовать на image, нужно в функцию рисования знака предавать канву image (и нужно добавить еще 1 функцию для очищения канвы).
Что за size?
Вложения
Тип файла: zip инь янь 3.zip (389.1 Кб, 21 просмотров)
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 02.12.2012, 15:56   #12
destroy_
Пользователь
 
Регистрация: 27.10.2012
Сообщений: 13
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Что за size?
размер фигуры
спс за помощь дальше я сам, вроде уже получается то что хотел
destroy_ вне форума Ответить с цитированием
Старый 27.05.2017, 17:35   #13
Argonaut
Новичок
Джуниор
 
Регистрация: 24.05.2017
Сообщений: 2
По умолчанию

как регулировать скорость анимации?

большой инь-ян вращается по часовой стрелке вокруг своей оси.
4 инь-яна поменьше расположенные вокруг большого по сторонам света тоже вращаются вокруг своей оси по часовой и в то же время все 4 вращаются вокруг большого инь-яна против часовой стрелке
помогите если не сложно
я сам новичок в программирование
с рисунком разобрался благодаря коду выше
но с анимацией не могу разобратся

Последний раз редактировалось BDA; 27.05.2017 в 19:42.
Argonaut вне форума Ответить с цитированием
Старый 27.05.2017, 19:50   #14
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Скорость анимации можно изменить 2 способами:
Изменить интервал у таймера;
Изменить значение константы d.

Насчет 4х инь-янов:
Код:
//добавить
procedure clear_canv(canv: tcanvas);
begin
  canv.Brush.Color := clwhite;
  canv.FillRect(canv.ClipRect);
end;

procedure draw_Yin_and_yang(canv: tcanvas; x, y, r: integer; ang: real);
begin
  canv.Pen.Width := 2;
  canv.Pen.Color := clblack;
  canv.Brush.Color := clwhite;
  //убрать
  //canv.FillRect(canv.ClipRect);
  ...
end;

//заменить
procedure TForm1.Timer1Timer(Sender: TObject);
var
  i: integer;
begin
  a := (a + 360 - d mod 360) mod 360;
  clear_canv(Image1.canvas);
  for i := 0 to 3 do
    draw_Yin_and_yang(Image1.canvas, round(rx * cos(pi * (a + 90 * i) / 180) +
      x0), round(ry * sin(pi * (a + 90 * i) / 180) + y0), r1, -pi * a / 180);
end;
Вам остается добавить еще один вызов draw_Yin_and_yang для центрального знака с правильными аргументами.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 28.05.2017, 12:50   #15
Argonaut
Новичок
Джуниор
 
Регистрация: 24.05.2017
Сообщений: 2
По умолчанию

как сделать чтобы у всех инь-янов были разные цвета
clred-clblue
clgreen-clyellow и т.д.
(Delfhi(lazarus))
Argonaut вне форума Ответить с цитированием
Старый 28.05.2017, 14:02   #16
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Проще всего добавить еще 2 параметра функции draw_Yin_and_yang, через которые передавать цвета, и заменить цикл в Timer1Timer на 4 вызова функции.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 28.05.2017, 18:11   #17
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию


30.png
Код:
/* ============ */
https://www.youtube.com/watch?v=lkMPnCZ-B1k
Вложения
Тип файла: 7z 218260 - Инь-Ян.7z (3.16 Мб, 9 просмотров)
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 28.05.2017 в 18:33.
min@y™ вне форума Ответить с цитированием
Старый 11.03.2020, 06:36   #18
Drag102
Новичок
Джуниор
 
Регистрация: 04.03.2020
Сообщений: 2
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Скорость анимации можно изменить 2 способами:
Изменить интервал у таймера;
Изменить значение константы d.

Насчет 4х инь-янов:
Код:
//добавить
procedure clear_canv(canv: tcanvas);
begin
  canv.Brush.Color := clwhite;
  canv.FillRect(canv.ClipRect);
end;

procedure draw_Yin_and_yang(canv: tcanvas; x, y, r: integer; ang: real);
begin
  canv.Pen.Width := 2;
  canv.Pen.Color := clblack;
  canv.Brush.Color := clwhite;
  //убрать
  //canv.FillRect(canv.ClipRect);
  ...
end;

//заменить
procedure TForm1.Timer1Timer(Sender: TObject);
var
  i: integer;
begin
  a := (a + 360 - d mod 360) mod 360;
  clear_canv(Image1.canvas);
  for i := 0 to 3 do
    draw_Yin_and_yang(Image1.canvas, round(rx * cos(pi * (a + 90 * i) / 180) +
      x0), round(ry * sin(pi * (a + 90 * i) / 180) + y0), r1, -pi * a / 180);
end;
Вам остается добавить еще один вызов draw_Yin_and_yang для центрального знака с правильными аргументами.
А можно ли как то сделать изменение скорости анимации через Scrollbar?
Drag102 вне форума Ответить с цитированием
Старый 11.03.2020, 10:16   #19
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
А можно ли как то сделать изменение скорости анимации через Scrollbar?
связать его изменения с ...
при изменении положения поменять...
Цитата:
Цитата:
Сообщение от BDA Посмотреть сообщение
Скорость анимации можно изменить 2 способами:
Изменить интервал у таймера;
Изменить значение константы d.
P.S. заменить const на var.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 11.03.2020, 11:48   #20
Drag102
Новичок
Джуниор
 
Регистрация: 04.03.2020
Сообщений: 2
По умолчанию

Drag102,
Цитата:
Сообщение от evg_m Посмотреть сообщение
связать его изменения с ...
при изменении положения поменять...

P.S. заменить const на var.
А можно примерный код?
Drag102 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Необходимо нарисовать через Canvas треугольник, чтобы закрасить его заливкой потом?(C++ Builder) Женька Good Помощь студентам 1 26.09.2012 21:32
нарисовать эмблему колледжа в делфи, а именно через метод Canvas. Dogi Помощь студентам 2 15.05.2010 17:31
Знак ^ в delphi aruy Помощь студентам 15 14.08.2009 08:31
Как нарисовать точку в Canvas? Вадим Буренков Мультимедиа в Delphi 1 14.05.2009 17:41
Есть чат на яваскрипте.не могу поставит знак +;Хотя люди его как то ставят, просто мой знак + заменяется maksim1983 JavaScript, Ajax 4 23.02.2009 07:55