基本信息
源码名称:XY曲线绘制控件
源码大小:0.50M
文件格式:.rar
开发语言:ASP
更新时间:2021-07-24
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
''' </summary>
''' <param name="Paint_g"></param>
''' <param name="XY_Pen"></param>
Private Sub PaintX_ScalePlate(Paint_g As Graphics, XY_Pen As Pen)
Dim Scale_Format As New StringFormat(StringFormatFlags.NoClip)
Scale_Format.LineAlignment = StringAlignment.Near
Scale_Format.Alignment = StringAlignment.Center
Dim DrawBrush As New SolidBrush(Color.Black)
Dim X_ScalePlate_StartPoint As PointF
Dim X_ScalePlate_EndPoint As PointF
If XisDateTime = False Then
For I = X_Start To X_End Step X_Min
If I Mod (10 * X_Min) = 0 AndAlso I <> 0 Then
X_ScalePlate_StartPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() - XScaleplate_Height * 2 Me.FontHeight)
X_ScalePlate_EndPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() Me.FontHeight)
Dim recSize As SizeF = Paint_g.MeasureString(I.ToString, Me.Font)
Dim rect As RectangleF = New RectangleF(X_ScalePlate_EndPoint.X - recSize.Width / 2, X_ScalePlate_EndPoint.Y, recSize.Width, recSize.Height)
Paint_g.DrawString(I.ToString, Me.Font, DrawBrush, (rect), Scale_Format)
Else
X_ScalePlate_StartPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() - XScaleplate_Height Me.FontHeight)
X_ScalePlate_EndPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() Me.FontHeight)
End If
If I = 0 Then
X_ScalePlate_StartPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() - XScaleplate_Height * 2 Me.FontHeight)
X_ScalePlate_EndPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() Me.FontHeight)
Dim recSize As SizeF = Paint_g.MeasureString(I.ToString, Me.Font)
Dim rect As RectangleF = New RectangleF(X_ScalePlate_EndPoint.X, X_ScalePlate_EndPoint.Y, recSize.Width, recSize.Height)
Paint_g.DrawString(I.ToString, Me.Font, DrawBrush, (rect), Scale_Format)
End If
XY_Pen.Color = Color.FromArgb(255, Color.Black)
Paint_g.DrawLine(XY_Pen, X_ScalePlate_StartPoint, X_ScalePlate_EndPoint)
If DrawGrid AndAlso I Mod GridOffset = 0 Then
If I Mod 2 = 0 Then
XY_Pen.Color = Color.FromArgb(60, DrawGridColor)
Else
XY_Pen.Color = Color.FromArgb(10, DrawGridColor)
End If
Dim X_ScalePlateLineStartPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() - XScaleplate_Height * 2 Me.FontHeight)
Dim X_ScalePlateLineEndPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Me.FontHeight)
Paint_g.DrawLine(XY_Pen, X_ScalePlateLineStartPoint, X_ScalePlateLineEndPoint)
End If
Next
ElseIf XisDateTime = True Then
_X_Start = 0
_X_End = (_X_EndTime - X_StartTime).TotalSeconds
For I = X_Start To X_End Step X_Min
If I Mod (10 * X_Min) = 0 AndAlso I <> 0 Then
X_ScalePlate_StartPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() - XScaleplate_Height * 2 Me.FontHeight)
X_ScalePlate_EndPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() Me.FontHeight)
Dim ScaleTime As String = DateAdd(DateInterval.Second, I, X_StartTime).ToString("yyyy-MM-dd HH:mm:ss")
Dim recSize As SizeF = Paint_g.MeasureString(ScaleTime, Me.Font)
Paint_g.TranslateTransform(X_ScalePlate_EndPoint.X recSize.Height / 2, X_ScalePlate_EndPoint.Y)
Paint_g.RotateTransform(90.0F, MatrixOrder.Prepend)
Dim rect As RectangleF = New RectangleF(0, 0, recSize.Width, recSize.Height)
Paint_g.DrawString(ScaleTime, Me.Font, DrawBrush, (rect), Scale_Format)
Paint_g.ResetTransform()
Else
X_ScalePlate_StartPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() - XScaleplate_Height Me.FontHeight)
X_ScalePlate_EndPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() Me.FontHeight)
End If
If I = 0 Then
X_ScalePlate_StartPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() - XScaleplate_Height * 2 Me.FontHeight)
X_ScalePlate_EndPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() Me.FontHeight)
Dim ScaleTime As String = DateAdd(DateInterval.Second, I, X_StartTime).ToString("yyyy-MM-dd HH:mm:ss")
Dim recSize As SizeF = Paint_g.MeasureString(ScaleTime, Me.Font)
Paint_g.TranslateTransform(X_ScalePlate_EndPoint.X recSize.Height, X_ScalePlate_EndPoint.Y)
Paint_g.RotateTransform(90.0F, MatrixOrder.Prepend)
Dim rect As RectangleF = New RectangleF(0, 0, recSize.Width, recSize.Height)
Paint_g.DrawString(ScaleTime, Me.Font, DrawBrush, (rect), Scale_Format)
Paint_g.ResetTransform()
End If
XY_Pen.Color = Color.FromArgb(255, Color.Black)
Paint_g.DrawLine(XY_Pen, X_ScalePlate_StartPoint, X_ScalePlate_EndPoint)
If DrawGrid AndAlso I Mod GridOffset = 0 Then
If I Mod 2 = 0 Then
XY_Pen.Color = Color.FromArgb(60, DrawGridColor)
Else
XY_Pen.Color = Color.FromArgb(10, DrawGridColor)
End If
Dim X_ScalePlateLineStartPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() - XScaleplate_Height * 2 Me.FontHeight)
Dim X_ScalePlateLineEndPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Me.FontHeight)
Paint_g.DrawLine(XY_Pen, X_ScalePlateLineStartPoint, X_ScalePlateLineEndPoint)
End If
Next
End If
End Sub
''' <summary>
''' 画Y轴刻度
''' </summary>
''' <param name="Paint_g"></param>
''' <param name="XY_Pen"></param>
Private Sub PaintY_ScalePlate(Paint_g As Graphics, XY_Pen As Pen)
Dim Scale_Format As New StringFormat(StringFormatFlags.NoClip)
Scale_Format.LineAlignment = StringAlignment.Center
Scale_Format.Alignment = StringAlignment.Far
Dim DrawBrush As New SolidBrush(Color.Black)
Dim Y_ScalePlate_StartPoint As PointF
Dim Y_ScalePlate_EndPoint As PointF
If YisDateTime = False Then
For I = Y_Start To Y_End Step Y_Min
If I Mod (10 * Y_Min) = 0 AndAlso I <> 0 Then
Y_ScalePlate_StartPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Y_ScalePlate_EndPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleplate_Height * 2 YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Dim recSize As SizeF = Paint_g.MeasureString(I.ToString, Me.Font)
Dim rect As RectangleF = New RectangleF(Y_ScalePlate_StartPoint.X - recSize.Width, Y_ScalePlate_StartPoint.Y - recSize.Height / 2, recSize.Width, recSize.Height)
Paint_g.DrawString(I.ToString, Me.Font, DrawBrush, (rect), Scale_Format)
Else
Y_ScalePlate_StartPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Y_ScalePlate_EndPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleplate_Height YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
End If
If I = 0 Then
Y_ScalePlate_StartPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Y_ScalePlate_EndPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleplate_Height * 2 YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Dim recSize As SizeF = Paint_g.MeasureString(I.ToString, Me.Font)
Dim rect As RectangleF = New RectangleF(Y_ScalePlate_StartPoint.X - recSize.Width, Y_ScalePlate_StartPoint.Y - recSize.Height, recSize.Width, recSize.Height)
Paint_g.DrawString(I.ToString, Me.Font, DrawBrush, (rect), Scale_Format)
End If
XY_Pen.Color = Color.FromArgb(255, Color.Black)
Paint_g.DrawLine(XY_Pen, Y_ScalePlate_StartPoint, Y_ScalePlate_EndPoint)
If DrawGrid AndAlso I Mod GridOffset = 0 Then
If I Mod 2 = 0 Then
XY_Pen.Color = Color.FromArgb(60, DrawGridColor)
Else
XY_Pen.Color = Color.FromArgb(10, DrawGridColor)
End If
Dim Y_ScalePlateLineStartPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleplate_Height * 2 YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Dim Y_ScalePlateLineEndPoint = New PointF(Me.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Paint_g.DrawLine(XY_Pen, Y_ScalePlate_StartPoint, Y_ScalePlateLineEndPoint)
End If
Next
ElseIf YisDateTime = True Then
_Y_Start = 0
_Y_End = (_Y_EndTime - _Y_StartTime).TotalSeconds
For I = Y_Start To Y_End Step Y_Min
If I Mod (10 * Y_Min) = 0 AndAlso I <> 0 Then
Y_ScalePlate_StartPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Y_ScalePlate_EndPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleplate_Height * 2 YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Dim ScaleTime As String = DateAdd(DateInterval.Second, I, Y_StartTime).ToString("yyyy-MM-dd HH:mm:ss")
Dim recSize As SizeF = Paint_g.MeasureString(ScaleTime, Me.Font)
Dim rect As RectangleF = New RectangleF(Y_ScalePlate_StartPoint.X - recSize.Width, Y_ScalePlate_StartPoint.Y - recSize.Height / 2, recSize.Width, recSize.Height)
Paint_g.DrawString(ScaleTime, Me.Font, DrawBrush, (rect), Scale_Format) 'RectangleF.op_Implicit(rect)
Else
Y_ScalePlate_StartPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Y_ScalePlate_EndPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleplate_Height YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
End If
If I = 0 Then
Y_ScalePlate_StartPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Y_ScalePlate_EndPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleplate_Height * 2 YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Dim ScaleTime As String = DateAdd(DateInterval.Second, I, Y_StartTime).ToString("yyyy-MM-dd HH:mm:ss")
Dim recSize As SizeF = Paint_g.MeasureString(ScaleTime, Me.Font)
Dim rect As RectangleF = New RectangleF(Y_ScalePlate_StartPoint.X - recSize.Width, Y_ScalePlate_StartPoint.Y - recSize.Height, recSize.Width, recSize.Height)
Paint_g.DrawString(ScaleTime, Me.Font, DrawBrush, (rect), Scale_Format)
End If
XY_Pen.Color = Color.FromArgb(255, Color.Black)
Paint_g.DrawLine(XY_Pen, Y_ScalePlate_StartPoint, Y_ScalePlate_EndPoint)
If DrawGrid AndAlso I Mod GridOffset = 0 Then
If I Mod 2 = 0 Then
XY_Pen.Color = Color.FromArgb(60, DrawGridColor)
Else
XY_Pen.Color = Color.FromArgb(10, DrawGridColor)
End If
Dim Y_ScalePlateLineStartPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleplate_Height * 2 YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Dim Y_ScalePlateLineEndPoint = New PointF(Me.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Paint_g.DrawLine(XY_Pen, Y_ScalePlateLineStartPoint, Y_ScalePlateLineEndPoint)
End If
Next
End If
End Sub
''' <summary>
''' 画X轴刻度''' </summary>
''' <param name="Paint_g"></param>
''' <param name="XY_Pen"></param>
Private Sub PaintX_ScalePlate(Paint_g As Graphics, XY_Pen As Pen)
Dim Scale_Format As New StringFormat(StringFormatFlags.NoClip)
Scale_Format.LineAlignment = StringAlignment.Near
Scale_Format.Alignment = StringAlignment.Center
Dim DrawBrush As New SolidBrush(Color.Black)
Dim X_ScalePlate_StartPoint As PointF
Dim X_ScalePlate_EndPoint As PointF
If XisDateTime = False Then
For I = X_Start To X_End Step X_Min
If I Mod (10 * X_Min) = 0 AndAlso I <> 0 Then
X_ScalePlate_StartPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() - XScaleplate_Height * 2 Me.FontHeight)
X_ScalePlate_EndPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() Me.FontHeight)
Dim recSize As SizeF = Paint_g.MeasureString(I.ToString, Me.Font)
Dim rect As RectangleF = New RectangleF(X_ScalePlate_EndPoint.X - recSize.Width / 2, X_ScalePlate_EndPoint.Y, recSize.Width, recSize.Height)
Paint_g.DrawString(I.ToString, Me.Font, DrawBrush, (rect), Scale_Format)
Else
X_ScalePlate_StartPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() - XScaleplate_Height Me.FontHeight)
X_ScalePlate_EndPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() Me.FontHeight)
End If
If I = 0 Then
X_ScalePlate_StartPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() - XScaleplate_Height * 2 Me.FontHeight)
X_ScalePlate_EndPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() Me.FontHeight)
Dim recSize As SizeF = Paint_g.MeasureString(I.ToString, Me.Font)
Dim rect As RectangleF = New RectangleF(X_ScalePlate_EndPoint.X, X_ScalePlate_EndPoint.Y, recSize.Width, recSize.Height)
Paint_g.DrawString(I.ToString, Me.Font, DrawBrush, (rect), Scale_Format)
End If
XY_Pen.Color = Color.FromArgb(255, Color.Black)
Paint_g.DrawLine(XY_Pen, X_ScalePlate_StartPoint, X_ScalePlate_EndPoint)
If DrawGrid AndAlso I Mod GridOffset = 0 Then
If I Mod 2 = 0 Then
XY_Pen.Color = Color.FromArgb(60, DrawGridColor)
Else
XY_Pen.Color = Color.FromArgb(10, DrawGridColor)
End If
Dim X_ScalePlateLineStartPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() - XScaleplate_Height * 2 Me.FontHeight)
Dim X_ScalePlateLineEndPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Me.FontHeight)
Paint_g.DrawLine(XY_Pen, X_ScalePlateLineStartPoint, X_ScalePlateLineEndPoint)
End If
Next
ElseIf XisDateTime = True Then
_X_Start = 0
_X_End = (_X_EndTime - X_StartTime).TotalSeconds
For I = X_Start To X_End Step X_Min
If I Mod (10 * X_Min) = 0 AndAlso I <> 0 Then
X_ScalePlate_StartPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() - XScaleplate_Height * 2 Me.FontHeight)
X_ScalePlate_EndPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() Me.FontHeight)
Dim ScaleTime As String = DateAdd(DateInterval.Second, I, X_StartTime).ToString("yyyy-MM-dd HH:mm:ss")
Dim recSize As SizeF = Paint_g.MeasureString(ScaleTime, Me.Font)
Paint_g.TranslateTransform(X_ScalePlate_EndPoint.X recSize.Height / 2, X_ScalePlate_EndPoint.Y)
Paint_g.RotateTransform(90.0F, MatrixOrder.Prepend)
Dim rect As RectangleF = New RectangleF(0, 0, recSize.Width, recSize.Height)
Paint_g.DrawString(ScaleTime, Me.Font, DrawBrush, (rect), Scale_Format)
Paint_g.ResetTransform()
Else
X_ScalePlate_StartPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() - XScaleplate_Height Me.FontHeight)
X_ScalePlate_EndPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() Me.FontHeight)
End If
If I = 0 Then
X_ScalePlate_StartPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() - XScaleplate_Height * 2 Me.FontHeight)
X_ScalePlate_EndPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() Me.FontHeight)
Dim ScaleTime As String = DateAdd(DateInterval.Second, I, X_StartTime).ToString("yyyy-MM-dd HH:mm:ss")
Dim recSize As SizeF = Paint_g.MeasureString(ScaleTime, Me.Font)
Paint_g.TranslateTransform(X_ScalePlate_EndPoint.X recSize.Height, X_ScalePlate_EndPoint.Y)
Paint_g.RotateTransform(90.0F, MatrixOrder.Prepend)
Dim rect As RectangleF = New RectangleF(0, 0, recSize.Width, recSize.Height)
Paint_g.DrawString(ScaleTime, Me.Font, DrawBrush, (rect), Scale_Format)
Paint_g.ResetTransform()
End If
XY_Pen.Color = Color.FromArgb(255, Color.Black)
Paint_g.DrawLine(XY_Pen, X_ScalePlate_StartPoint, X_ScalePlate_EndPoint)
If DrawGrid AndAlso I Mod GridOffset = 0 Then
If I Mod 2 = 0 Then
XY_Pen.Color = Color.FromArgb(60, DrawGridColor)
Else
XY_Pen.Color = Color.FromArgb(10, DrawGridColor)
End If
Dim X_ScalePlateLineStartPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Origin.Y * PerYPoint_Pix() - XScaleplate_Height * 2 Me.FontHeight)
Dim X_ScalePlateLineEndPoint = New PointF((Origin.X I) * PerXPoint_Pix() YScaleSize.Width, Me.FontHeight)
Paint_g.DrawLine(XY_Pen, X_ScalePlateLineStartPoint, X_ScalePlateLineEndPoint)
End If
Next
End If
End Sub
''' <summary>
''' 画Y轴刻度
''' </summary>
''' <param name="Paint_g"></param>
''' <param name="XY_Pen"></param>
Private Sub PaintY_ScalePlate(Paint_g As Graphics, XY_Pen As Pen)
Dim Scale_Format As New StringFormat(StringFormatFlags.NoClip)
Scale_Format.LineAlignment = StringAlignment.Center
Scale_Format.Alignment = StringAlignment.Far
Dim DrawBrush As New SolidBrush(Color.Black)
Dim Y_ScalePlate_StartPoint As PointF
Dim Y_ScalePlate_EndPoint As PointF
If YisDateTime = False Then
For I = Y_Start To Y_End Step Y_Min
If I Mod (10 * Y_Min) = 0 AndAlso I <> 0 Then
Y_ScalePlate_StartPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Y_ScalePlate_EndPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleplate_Height * 2 YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Dim recSize As SizeF = Paint_g.MeasureString(I.ToString, Me.Font)
Dim rect As RectangleF = New RectangleF(Y_ScalePlate_StartPoint.X - recSize.Width, Y_ScalePlate_StartPoint.Y - recSize.Height / 2, recSize.Width, recSize.Height)
Paint_g.DrawString(I.ToString, Me.Font, DrawBrush, (rect), Scale_Format)
Else
Y_ScalePlate_StartPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Y_ScalePlate_EndPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleplate_Height YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
End If
If I = 0 Then
Y_ScalePlate_StartPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Y_ScalePlate_EndPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleplate_Height * 2 YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Dim recSize As SizeF = Paint_g.MeasureString(I.ToString, Me.Font)
Dim rect As RectangleF = New RectangleF(Y_ScalePlate_StartPoint.X - recSize.Width, Y_ScalePlate_StartPoint.Y - recSize.Height, recSize.Width, recSize.Height)
Paint_g.DrawString(I.ToString, Me.Font, DrawBrush, (rect), Scale_Format)
End If
XY_Pen.Color = Color.FromArgb(255, Color.Black)
Paint_g.DrawLine(XY_Pen, Y_ScalePlate_StartPoint, Y_ScalePlate_EndPoint)
If DrawGrid AndAlso I Mod GridOffset = 0 Then
If I Mod 2 = 0 Then
XY_Pen.Color = Color.FromArgb(60, DrawGridColor)
Else
XY_Pen.Color = Color.FromArgb(10, DrawGridColor)
End If
Dim Y_ScalePlateLineStartPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleplate_Height * 2 YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Dim Y_ScalePlateLineEndPoint = New PointF(Me.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Paint_g.DrawLine(XY_Pen, Y_ScalePlate_StartPoint, Y_ScalePlateLineEndPoint)
End If
Next
ElseIf YisDateTime = True Then
_Y_Start = 0
_Y_End = (_Y_EndTime - _Y_StartTime).TotalSeconds
For I = Y_Start To Y_End Step Y_Min
If I Mod (10 * Y_Min) = 0 AndAlso I <> 0 Then
Y_ScalePlate_StartPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Y_ScalePlate_EndPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleplate_Height * 2 YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Dim ScaleTime As String = DateAdd(DateInterval.Second, I, Y_StartTime).ToString("yyyy-MM-dd HH:mm:ss")
Dim recSize As SizeF = Paint_g.MeasureString(ScaleTime, Me.Font)
Dim rect As RectangleF = New RectangleF(Y_ScalePlate_StartPoint.X - recSize.Width, Y_ScalePlate_StartPoint.Y - recSize.Height / 2, recSize.Width, recSize.Height)
Paint_g.DrawString(ScaleTime, Me.Font, DrawBrush, (rect), Scale_Format) 'RectangleF.op_Implicit(rect)
Else
Y_ScalePlate_StartPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Y_ScalePlate_EndPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleplate_Height YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
End If
If I = 0 Then
Y_ScalePlate_StartPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Y_ScalePlate_EndPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleplate_Height * 2 YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Dim ScaleTime As String = DateAdd(DateInterval.Second, I, Y_StartTime).ToString("yyyy-MM-dd HH:mm:ss")
Dim recSize As SizeF = Paint_g.MeasureString(ScaleTime, Me.Font)
Dim rect As RectangleF = New RectangleF(Y_ScalePlate_StartPoint.X - recSize.Width, Y_ScalePlate_StartPoint.Y - recSize.Height, recSize.Width, recSize.Height)
Paint_g.DrawString(ScaleTime, Me.Font, DrawBrush, (rect), Scale_Format)
End If
XY_Pen.Color = Color.FromArgb(255, Color.Black)
Paint_g.DrawLine(XY_Pen, Y_ScalePlate_StartPoint, Y_ScalePlate_EndPoint)
If DrawGrid AndAlso I Mod GridOffset = 0 Then
If I Mod 2 = 0 Then
XY_Pen.Color = Color.FromArgb(60, DrawGridColor)
Else
XY_Pen.Color = Color.FromArgb(10, DrawGridColor)
End If
Dim Y_ScalePlateLineStartPoint = New PointF(Origin.X * PerXPoint_Pix() YScaleplate_Height * 2 YScaleSize.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Dim Y_ScalePlateLineEndPoint = New PointF(Me.Width, (Origin.Y - I) * PerYPoint_Pix() Me.FontHeight)
Paint_g.DrawLine(XY_Pen, Y_ScalePlateLineStartPoint, Y_ScalePlateLineEndPoint)
End If
Next
End If
End Sub