AutoScale-Comments
29.03.2012 - 16:03
Пасиба огромное за пример !
Vasily 27.05.2013 - 00:31
установка равного масштаба по осям
Здравствуйте, большое спасибо за примеры они очень мне помогают. Подскажите пожалуйста как мне установить равный масшаб по осям, другими словами чтобы сохранялась форма геометрических фигур и не происходило их растягивание(сжатие) при масштабировании
Vasily 03.06.2013 - 01:57
установка равного масштаба по осям
спасибо, решил проблему самостоятельно:
public void SetEqualScale(GraphPane pane) { double Xmin = pane.XAxis.Scale.Min; double Xmax = pane.XAxis.Scale.Max; double Ymin = pane.YAxis.Scale.Min; double Ymax = pane.YAxis.Scale.Max; PointF PointMin = pane.GeneralTransform(Xmin, Ymin, CoordType.AxisXYScale); PointF PointMax = pane.GeneralTransform(Xmax, Ymax, CoordType.AxisXYScale); double dX = Math.Abs(Xmax - Xmin); double dY = Math.Abs(Ymax - Ymin); double Kx = dX / Math.Abs(PointMax.X - PointMin.X); double Ky = dY / Math.Abs(PointMax.Y - PointMin.Y); double K = Kx / Ky; //MessageBox.Show(K.ToString()); if (K > 1.0) { pane.YAxis.Scale.Min = pane.YAxis.Scale.Min - dY * (K - 1.0) / 2.0; pane.YAxis.Scale.Max = pane.YAxis.Scale.Max + dY * (K - 1.0) / 2.0; } else { K = 1.0 / K; pane.XAxis.Scale.Min = pane.XAxis.Scale.Min - dX * (K - 1.0) / 2.0; pane.XAxis.Scale.Max = pane.XAxis.Scale.Max + dX * (K - 1.0) / 2.0; } // Обновим данные об осях zedGraphControl1.AxisChange(); // Обновляем график zedGraphControl1.Invalidate(); }