|
Вопрос # 2 319/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Пишу программу для построения графиков функции. В связи с чем у меня возникли вопросы.
1. Как составить процедуру для разметки осей?
2. Необходимо реализовать возможность вывода на одно координатное поле нескольких графиков. Не знаю как. У меня получается только каждый график выводить отдельно.
3. Необходимо реализовать масштабирование, настройки цвета и типа линии графиков.
(Настройки цвета линий графиков я реализовала, а вот масштабирование и тип линии не получается).
В приложении код построения линий координат и код выбора цвета линии.
Буду очень благодарна за помощь и объяснение.
Приложение: Переключить в обычный режим-
-
-
- cx,cy:longint;
- procedure MyLine(x1,y1,x2,y2:real);
- procedure GetCxCy(var cx,cy:integer);
- Procedure CoordLines(cx,cy:integer);
- Procedure MyPixel(x,y:real;color:Tcolor);
-
-
- Procedure TfmAll.MyPixel(x,y:Real;color:Tcolor);
- begin
- imWork.canvas.pixels[Round(cx+x),round(cy-y)]:=Color;
- end;
-
- Procedure TfmAll.CoordLines(cx,cy:Integer);
- begin
- myline(-cx,0,cx,0);
- myline(0,-cy,0,cy);
- end;
-
- procedure TfmAll.GetCxCy(var cx,cy:integer);
- begin
- cx:=imWork.Width div 2;
- cy:=imWork.Height div 2;
- end;
-
- procedure TfmAll.MyLine(x1,y1,x2,y2:real);
-
- begin
- imWork.Canvas.MoveTo(round(cx+x1),round(cy-y1));
- imWork.Canvas.lineTo(round(cx+x2),round(cy-y2));
- end;
-
-
-
-
-
- name plPen
- Width = 24
- Height = 22
- BevelOuter = bvNone
- Color = clBlack
-
-
-
- name = ColorDialog
-
- if ColorDialog.execute then
- begin
- imWork.Canvas.pen.color:=ColorDialog.color;
- plPen.color:=ColorDialog.color;
- end;
 |
Вопрос задала: Brigina (статус: Посетитель)
Вопрос отправлен: 20 января 2009, 04:27
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 27; последнее сообщение — 22 января 2009, 13:55; участников в обсуждении: 3.
Страницы: [« Предыдущая] [1] [2]
|
Вадим К (статус: Академик), 21 января 2009, 17:04 [#21]:
Что бы координатные линии не были неправильными, надо выставлять нужный тип линий перед их рисованием. То есть рисуем координатные линии - выставляем сплошную, рисуем график - выставляем согласно выбранному. правда процедура, приведённая выше тогда идем погулять... Она просто меняем...
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Brigina (статус: Посетитель), 21 января 2009, 17:13 [#22]:
Поставила брейкпойнт. Выполнение остановилось.
|
|
Brigina (статус: Посетитель), 21 января 2009, 17:15 [#23]:
Куда погулять? Мне нужно сделать так, чтобы можно было выбрать стиль линии. Чем плоха процедура из справки? Ну кроме того, что она не работает?
|
|
Вадим К (статус: Академик), 21 января 2009, 17:50 [#24]:
Процедура рабочая, просто она не делает то, что надо Вам. Просто по нажатию кнопки запоминайте выбор в переменной, а потом применяйте при прорисовке.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Brigina (статус: Посетитель), 21 января 2009, 18:11 [#25]:
> Просто по нажатию кнопки запоминайте выбор в переменной, а потом применяйте при прорисовке.
А как? Мне нужен пример. Я пробовала запоминать, не запоминаетя...
|
|
Вадим К (статус: Академик), 21 января 2009, 18:37 [#26]:
ну значит не запоминали. как всегда, если спрашиваете, что именно не работает, показывайте код
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Brigina (статус: Посетитель), 22 января 2009, 13:55 [#27]:
>ну значит не запоминали. как всегда, если спрашиваете, что именно не работает, показывайте код
Показываю код 
procedure TForm1.SaveStyles;
begin
with Image1.Canvas do
begin
PenStyle := Pen.Style;
end;
end;
|
Страницы: [« Предыдущая] [1] [2]
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|