Страж леса
26 / 26 / 24
Регистрация: 13.12.2012
Сообщений: 146
1

Рисование на канве

09.05.2013, 13:56. Показов 2316. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Солнце с 10 лучами вращается против часовой стрелки с дискретом 100/сек. Длина цикла 30 сек. Запуск движения – команда контекстного меню.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.05.2013, 13:56
Ответы с готовыми решениями:

Рисование по канве нажатием любой кнопки мыши
Получаетсья сделать только для правой кнопки. А как сделать чтобы можно было и правой и левой? ...

Рисование графика на канве так, чтобы он не выходил за ее пределы
Здравствуйте, так вышло что при построении графика по точкам он выходит за граница канвы дано...

Рисование на канве
В программе предусмотреть возможность изменения цвета и стиля линий для каждой из фигур. На...

Рисование на канве формы
Делаю небольшую программку, а проблема вот в чем. При нажатии кнопки "Создать новую схему"...

13
43 / 27 / 6
Регистрация: 27.09.2011
Сообщений: 280
09.05.2013, 14:06 2
Leshiy27, а исходник есть? хоть что-нибудь

Добавлено через 1 минуту
Leshiy27,
вам совет один... поискать исходник часы, принцип очень похож
0
Страж леса
26 / 26 / 24
Регистрация: 13.12.2012
Сообщений: 146
09.05.2013, 14:07  [ТС] 3
я его удалил прежде чем мне пришла в голову светлая мысль зайти на форум
0
43 / 27 / 6
Регистрация: 27.09.2011
Сообщений: 280
09.05.2013, 14:10 4
Leshiy27, тогда используйте мой совет, а потом пришлите исходник , ошибки подправим , если будут конечно =)

Не по теме

P.S. Это не указ ( есть такие, которые потом обижаются)
0
Страж леса
26 / 26 / 24
Регистрация: 13.12.2012
Сообщений: 146
09.05.2013, 15:37  [ТС] 5
я не обижаюсь. я послушал твой совет и вот что получилось.
Вложения
Тип файла: rar солнце.rar (162.4 Кб, 28 просмотров)
0
Страж леса
26 / 26 / 24
Регистрация: 13.12.2012
Сообщений: 146
09.05.2013, 15:37  [ТС] 6
просьба строго не судить
0
43 / 27 / 6
Регистрация: 27.09.2011
Сообщений: 280
09.05.2013, 15:42 7
Попробуйте немного цвет убавить
либо фон поменять
слишком яркое в глаза бьет =)

Я думаю это от вас и требовали по заданию...

Добавлено через 2 минуты
Leshiy27, а когда глянул внутрь программы, то просто ужаснулся
сколько же там Таймеров ( а именно 11-ть )
0
Страж леса
26 / 26 / 24
Регистрация: 13.12.2012
Сообщений: 146
09.05.2013, 15:50  [ТС] 8
про цвет спасибо что напомнил я просто забыл вот в нормальной цв гамме исходник. и да, таймеров там на самом деле 11
Вложения
Тип файла: rar солнце.rar (162.4 Кб, 21 просмотров)
0
43 / 27 / 6
Регистрация: 27.09.2011
Сообщений: 280
09.05.2013, 16:01 9
Leshiy27, программа требует серьезной доработки в плане упрощения её до минимум.
Здесь пожалуй должен быть лишь один Таймер , и в этом таймере описание 10 линий в цикле.

Нужно найти программу с Часами
Там стрелка движется одна всего лишь.
Сделать программу Солнце с 1-им лучом , а потом уже дописать остальные 9-ть.

То есть это отрисовка линии в конце радиуса круга (основания Солнца) и продолжение в ту же сторону с тем же радиусом круга солнца (т.е. сама длина линии) дальше, а само движение делать по принципу Часовых стрелок. тоесть радиус 360 и кол-во оборотов допустим 8 ( но не в коем случае не 10, т.к. 10 лучей у вас и не будет видно передвижение лучей)

Например 10 лучей с кол-вом оборотов 36
тоесть каждый луч будет перемещаться на 10 градусов с каждым поворотом...

Добавлено через 5 минут
Leshiy27, если найду время , то покопаюсь и найду свой исходник с Часами и переделаю в Солнце....
0
Страж леса
26 / 26 / 24
Регистрация: 13.12.2012
Сообщений: 146
09.05.2013, 16:21  [ТС] 10
зделал через два таймера но оно помигивает все же что делать я не знаю
Вложения
Тип файла: rar солнце - копия.rar (162.4 Кб, 18 просмотров)
0
Страж леса
26 / 26 / 24
Регистрация: 13.12.2012
Сообщений: 146
09.05.2013, 18:15  [ТС] 11
вот создал отличное солнышко для моего уровня, выкидываю исходник ежели кому нужно
Вложения
Тип файла: rar солнышко.rar (160.8 Кб, 15 просмотров)
0
263 / 109 / 26
Регистрация: 16.03.2013
Сообщений: 272
09.05.2013, 19:10 12
Я вот твой проект подредактировал, чтоб он не мигал и код покороче был, вот посмотри:
Вложения
Тип файла: zip sun.zip (150.4 Кб, 19 просмотров)
0
263 / 109 / 26
Регистрация: 16.03.2013
Сообщений: 272
09.05.2013, 19:12 13
А вот код проекта:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;
 
type
  TForm1 = class(TForm)
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
   b,a,r,rm,x,y,xm,ym,c,m,s,rs,xs,ys,sss,n,n1,n2,n3,n4,k:integer;
   pi,am,d,dm,asec,ds:real;
   bm: TBitMap;
implementation
 
{$R *.dfm}
 
procedure TForm1.Timer1Timer(Sender: TObject);
var
j:integer;
begin
  s:=s+1;
  bm.canvas.brush.Color:=clblue;
  bm.canvas.FillRect(bm.Canvas.ClipRect);  //затираем предыдущее солнышко синим цветом
  for j:=0 to 36 do
  begin
    bm.canvas.Pen.Color:=clyellow;
    s:=s+a;
    pi:=3.1415926535897932384626433832795;
    ds:=10*pi/300;
    asec:=(s-75)*ds;
    rs:=200;
    xs:=round(250+rs*cos(asec));
    ys:=round(250+rs*sin(asec));
    bm.Canvas.MoveTo(250,250);
    bm.Canvas.LineTo(xs,ys);
  end;
  bm.canvas.brush.Color:=clYellow;
  bm.canvas.Ellipse(200,200,300,300);
  Form1.Canvas.Draw(0, 0, bm); //переносим canvas bitmap на форму
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.DoubleBuffered:=True;
  a:=3; b:=6; r:=12; rm:=18; xm:=24; ym:=30; //n1:=36; n2:=42; n3:=48; n4:=54;
  bm := TBitMap.Create;
  bm.Width := Form1.ClientWidth;
  bm.Height := Form1.ClientHeight;
end;
end.
Правда там ещё куча лишних переменных, но я их не трогал.
1
Страж леса
26 / 26 / 24
Регистрация: 13.12.2012
Сообщений: 146
09.05.2013, 19:32  [ТС] 14
спасибо большое. переменные от часов остались. я нашел исходник часов и переделывал его под себя.
И вообще всем спасибо
0
09.05.2013, 19:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.05.2013, 19:32
Помогаю со студенческими работами здесь

Время на канве
В общем, я хотел создать прогу, которая РИСУЕТ на форме время компа. Именно через канву, потому что...

Текст на канве не отображается
Ну собственно на момент создания формы ставлю вывод текста. procedure TForm2.FormCreate(Sender:...

Перерисовка линий на канве
Здравствуйте! Написал программу для раскроя слитков, суть в том, что по перемещению ползунка...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru