Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
 
egrozavr
0 / 0 / 0
Регистрация: 21.01.2014
Сообщений: 57
1

Масштабирование графика

08.05.2014, 20:20. Просмотров 423. Ответов 0
Метки нет (Все метки)

Как видно ниже, масштаб моего графика регулируется вручную через значение "Scale", вводимое в поле textBox.
А как сделать это же через событие trackbar? ( хочется чтобы значение вводилось каждый раз не от руки, а регулировалось через ползунок трекбара). Пробовал сам, но зашёл в тупик

C++
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#pragma endregion
    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
                 MathGraph();
             }
 
    private: void MathGraph()
    {
        const double Pi = 3.14159265;
        double shag = 0.1;
        double scale = Convert::ToDouble(textBox1->Text);
        
        
        //размеры поля
        int fillHeight = 100;
        int fillWidth = 500;
        int otstup = 5;
 
        //ось Х
        Point x1 (0,55);
        Point x2 (500,55);
        Point x3 (0,155);
        Point x4 (500,155);
        //ось Y
        Point y1 (100,10);
        Point y2 (100,90);
        Point y3 (100,120);
        Point y4 (100,200);
 
        //описание текстовой строки
        String^ drawString = "Pi";
        System::Drawing::Font^ drawFont = gcnew System::Drawing::Font( "Arial",7 );
        SolidBrush^ drawBrush = gcnew SolidBrush( Color::Black );
        PointF drawPoint = PointF(200,200);
 
        //описание линий                                            
        Graphics^ e = this->CreateGraphics();
        SolidBrush^ brush = gcnew SolidBrush(Color::White);
        Pen^ blackPen = gcnew Pen(Color::Green,1.0f);
 
        //рисуем поля
        e-> FillRectangle(brush, otstup,fillHeight,fillWidth,fillHeight);
        e-> FillRectangle(brush, otstup, 2*otstup + fillHeight,fillWidth,fillHeight);
        //текст под графиком
        e-> DrawString( drawString, drawFont, drawBrush, drawPoint );
        //оси
        e-> DrawLine (blackPen, x1, x2);
        e-> DrawLine (blackPen, x3, x4);
        e-> DrawLine (blackPen, y1, y2);
        e-> DrawLine (blackPen, y3, y4);
 
        int n = Convert::ToInt32(4*Pi/shag);
 
        array <Point, 1>^ pointSin = gcnew array <Point, 1>(n);
        array <Point, 1>^ pointCos = gcnew array <Point, 1>(n);
    
        int p = 0;
 
        for (double i = 0; i < 4*Pi; i+= shag)
        {
            pointSin[p] = Point (Convert::ToInt32(i*scale + otstup), Convert::ToInt32(sin(i)*scale + fillHeight/2 + otstup));
            pointCos[p] = Point (Convert::ToInt32(i*scale + otstup), Convert::ToInt32(cos(i)*scale + fillHeight/2 + 2*otstup + fillHeight));
            p++;
        }
            
        Pen^ pen = gcnew Pen(Color::Black);
        Pen^ pen1 = gcnew Pen(Color::Blue);
        e-> DrawCurve(pen, pointSin);
        e-> DrawCurve(pen1, pointCos);
 
 
    }
    private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
                
             }
};
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2014, 20:20
Ответы с готовыми решениями:

Масштабирование zedGraphControl
необходимо сделать, чтобы при увеличении размеров формы zedGraphControl...

Масштабирование изображения в PictureBox
Подскажите, как реализовать масштабирование получаемой картинки по размеру...

Масштабирование PictureBox с загруженным в него изображением
Имеется pictureBox с загруженным Bitmap. Как увеличить pictureBox, чтобы можно...

Масштабирование элементов на форме при изменение размера окна
Как сделать так, чтоб некоторые обьекты на форме меняли свой размер...

Масштабирование графика
Здравствуйте! Помогите пожайлуста закончить задачу. Мне надо постоить график...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2014, 20:20

Масштабирование графика
У меня есть код, который реализует рисование осей координат и графика параболы...

Масштабирование графика
unit Unit1; interface uses Windows, Messages, SysUtils, Variants,...

Автоматической масштабирование графика
Не могу понять как реализовать масштабирование, чтобы при больших/малых...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru