Ошибка При Масштабировании

Тема в разделе "Borland C++ Builder & Kylix", создана пользователем Серафим, 6 дек 2012.

  1. Серафим

    Серафим New Member

    Регистрация:
    6 дек 2012
    Сообщения:
    1
    Симпатии:
    0
    Здравствуйте ,написал программу для вывода точек в builder ,но допустил ошибку и 3 день её вылавливаю , был бы рад ,если бы указали на неё .
    На форме есть GroupBox , по высоте он равен форме .
    Пытаюсь вывести на свободное пространство точки и оси X,Y , предварительно отмаштабировав ,но большинство точек выходят за пределы видимой области формы.

    maxx,minx,maxy,максимальные и минимальные координаты по х и у,
    m - массив координат .
    Код (C++):
    k1=(Form1->Width-Form1->GroupBox1->Width)*1.0/(maxx-minx);// коэффициент преобразования по Х
    k2=(Form1->Height)*1.0/(maxy-miny); //коэффициент преобразования по Y
    x0=abs(minx*k1); //положение начала координат по х
    y0=abs(maxy*k2); // и по у
    // вывод осей
    Form1->Canvas->MoveTo(0,int(y0));
    Form1->Canvas->LineTo(Form1->Width-Form1->GroupBox1->Width,int(y0));
    Form1->Canvas->MoveTo(int(x0),0);
    Form1->Canvas->LineTo(int(x0),Form1->Height);
    //вывод точек
    for (int i=0;i<n;i++)
    Form1->Canvas->Ellipse(int(m[i].x*k1+x0-4),int(y0-m[i].y*k2-4),int(m[i].x*k1+x0+4),int(y0-m[i].y*k2+4));
     
Загрузка...

Поделиться этой страницей