private void DrawMarkX(DrawSettings settings, CoordinateAxisX axis, CoordinateSystemSignature signature) { float indent = settings.LineWidth / (settings.CountPoints * signature.Font.Size); for (int i = 0; i <= settings.CountPoints; i++) { (float x, float y) = axis.SettingScale(settings.Direction.X, settings.Direction.Y, indent, i); graphics.DrawLine(signature.Pen, x + settings.Offset.X, -2 + settings.Offset.Y, x + settings.Offset.X, 2 + settings.Offset.Y); } }
private void DrawSignatureX(CoordinateAxisX axisX, CoordinateSystemSignature signature) { int countPoints = axisX.CountPoints; float dx = signature.Font.Size, dy = signature.Font.Size; var settings = new DrawSettings(graphics.ClipBounds.Width - (24 + signature.Font.Size), countPoints, axisX.MaxValue, new Direction(dx, dy)) { StartPoint = 1, StartValue = 1, Offset = new Offset(24, 0) }; DrawSignature(settings, axisX, signature); DrawMarkX(settings, axisX, signature); }
private void PictureBox1_Paint(object sender, PaintEventArgs e) { var g = e.Graphics; var x = new CoordinateAxisX(minValue: 1, maxValue: 31, countPoints: 31); var y = new CoordinateAxisY(minValue: -max, maxValue: max, countPoints: 15); var cs = new Models.CoordinateSystem(x, y); cs.Signature = new Models.CoordinateSystemSignature { Brush = Brushes.Red, Font = new Font("Arial", 10), }; var draw = new DrawingСoordinateSystem(g, cs); offset = draw.Draw(); drawingGraphics?.Draw(numbers, new RectangleF(offset.X, -offset.Y, pictureBox1.Width, pictureBox1.Height), graphicsSignature, g); }