11-10-17, 03:22 AM
اولا الكود خاص بالرسم البياني اريد الاتي
1 لو كان ارتفاع الاعمدة الخاصة بالرسم البياني متغير وليس قيم ثابتة كما بالمثال يعني يضاف 7 تيكست ويتم تغير قيم 7 اعمدة منها
ويتم ايضا تغير المحور الافقي وفقا لقيمة معينةمن التيكست تقسم علي 10 عد د النقط من بدا من اول المحور الي اخرة
اريد كود ربط ارتفاع 7 اعمدة المتغير ة من تيكست7 وفقا لما يقابل قيمتها بالمحور الراسي المتغير قيمة ايضا
2- ارجاع قيمة المتغير في حدث الرسم الي بيكتشر الصورة حتي يتم طباعتها لانة عند الطباعة تظهر فارغة
الكود الخاص بالرسم البياني
1 لو كان ارتفاع الاعمدة الخاصة بالرسم البياني متغير وليس قيم ثابتة كما بالمثال يعني يضاف 7 تيكست ويتم تغير قيم 7 اعمدة منها
ويتم ايضا تغير المحور الافقي وفقا لقيمة معينةمن التيكست تقسم علي 10 عد د النقط من بدا من اول المحور الي اخرة
اريد كود ربط ارتفاع 7 اعمدة المتغير ة من تيكست7 وفقا لما يقابل قيمتها بالمحور الراسي المتغير قيمة ايضا
2- ارجاع قيمة المتغير في حدث الرسم الي بيكتشر الصورة حتي يتم طباعتها لانة عند الطباعة تظهر فارغة
الكود الخاص بالرسم البياني
PHP كود :
Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
Dim m_matrix As New Matrix(1, 0, 0, -1, 0, PictureBox1.ClientSize.Height)
e.Graphics.Transform = m_matrix
Dim lgbBrush As New LinearGradientBrush(New Rectangle(0, 0, PictureBox1.ClientSize.Width, PictureBox1.ClientSize.Height), Color.Silver, Color.Azure, 90, True)
e.Graphics.FillRectangle(lgbBrush, New Rectangle(0, 0, PictureBox1.ClientSize.Width, PictureBox1.ClientSize.Height))
e.Graphics.DrawLine(Pens.Black, 50, 30, 350, 30)
e.Graphics.DrawLine(Pens.Black, 50, 30, 50, 330)
For x As Integer = 0 To 10
e.Graphics.DrawLine(Pens.Green, 45, 30 + (30 * x), 50, 30 + (30 * x))
e.Graphics.DrawLine(Pens.Green, 50 + (30 * x), 25, 50 + (30 * x), 30)
Next
Dim m_pens As Pen() = New Pen() {Pens.Red, Pens.Blue, Pens.Green, Pens.Red}
Dim m_GraphicsSave As GraphicsState = e.Graphics.Save()
Dim m_MatrixCloned As Matrix = m_matrix.Clone()
m_MatrixCloned.Translate(50, 30)
e.Graphics.Transform = m_MatrixCloned
'-----------------------------------------------------------------------
Dim employ1 As Integer = 300
Dim employ1Brush As New SolidBrush(Color.FromArgb(150, Color.Red))
Dim employ2 As Integer = 300 / 2
Dim employ2Brush As New SolidBrush(Color.FromArgb(150, Color.Blue))
Dim employ3 As Integer = 300 / 4
Dim employ3Brush As New SolidBrush(Color.FromArgb(150, Color.Green))
Dim employ4 As Integer = 200
Dim employ4Brush As New SolidBrush(Color.FromArgb(150, Color.Yellow))
Dim employ5 As Integer = 250
Dim employ5Brush As New SolidBrush(Color.FromArgb(150, Color.Purple))
Dim employ6 As Integer = 150
Dim employ6Brush As New SolidBrush(Color.FromArgb(150, Color.Maroon))
Dim employ7 As Integer = 275
Dim employ7Brush As New SolidBrush(Color.FromArgb(150, Color.Khaki))
e.Graphics.DrawRectangle(Pens.Black, 25, 0, 10, employ1)
e.Graphics.FillRectangle(employ1Brush, New Rectangle(25, 0, 10, employ1))
e.Graphics.DrawRectangle(Pens.Black, 55, 0, 10, employ2)
e.Graphics.FillRectangle(employ2Brush, New Rectangle(55, 0, 10, employ2))
e.Graphics.DrawRectangle(Pens.Black, 85, 0, 10, employ3)
e.Graphics.FillRectangle(employ3Brush, New Rectangle(85, 0, 10, employ3))
e.Graphics.DrawRectangle(Pens.Black, 115, 0, 10, employ4)
e.Graphics.FillRectangle(employ4Brush, New Rectangle(115, 0, 10, employ4))
e.Graphics.DrawRectangle(Pens.Black, 145, 0, 10, employ5)
e.Graphics.FillRectangle(employ5Brush, New Rectangle(145, 0, 10, employ5))
e.Graphics.DrawRectangle(Pens.Black, 175, 0, 10, employ6)
e.Graphics.FillRectangle(employ6Brush, New Rectangle(175, 0, 10, employ6))
e.Graphics.DrawRectangle(Pens.Black, 205, 0, 10, employ7)
e.Graphics.FillRectangle(employ7Brush, New Rectangle(205, 0, 10, employ7))
'-----------------------------------------------------------------------
e.Graphics.Restore(m_GraphicsSave)
For i As Integer = 10 To 100 Step 10
m_GraphicsSave = e.Graphics.Save()
Dim m_MatrixOffsetY As New Matrix(1, 0, 0, -1, 25, 30 + (i / 10 * 30) + (Font.Height / 2))
m_MatrixCloned = m_matrix.Clone()
m_MatrixCloned.Multiply(m_MatrixOffsetY)
e.Graphics.Transform = m_MatrixCloned
e.Graphics.DrawString(i.ToString(), Font, Brushes.Black, 0, 0, StringFormat.GenericTypographic)
e.Graphics.Restore(m_GraphicsSave)
Next
For s As Integer = 10 To 100 Step 10
m_GraphicsSave = e.Graphics.Save()
Dim m_matrixOffsetX As New Matrix(1, 0, 0, -1, 30 + (s / 10 * 30) + (Font.Height / 2), 25)
m_MatrixCloned = m_matrix.Clone()
m_MatrixCloned.Multiply(m_matrixOffsetX)
e.Graphics.Transform = m_MatrixCloned
e.Graphics.DrawString(s.ToString(), Font, Brushes.Black, 0, 0, StringFormat.GenericTypographic)
e.Graphics.Restore(m_GraphicsSave)
Next
End Sub