Ejemplo n.º 1
0
        private void DrawChart(int okNumber, int ngNumber)
        {
            int Total = okNumber + ngNumber;

            DailyTotal = Statistics_DailyNG + Statistics_DailyOK;

            labelStatisticNG.Text     = ngNumber.ToString();
            labelStatisticOK.Text     = okNumber.ToString();
            labelStatisticsTotal.Text = Total.ToString();
            lbDailyNG.Text            = Statistics_DailyNG.ToString();
            lbDailyOK.Text            = Statistics_DailyOK.ToString();
            lbDailyTotal.Text         = DailyTotal.ToString();

            if (Total == 0)
            {
                Total = 10000000;
            }
            float okRadian = (float)360.0 / Total * okNumber;
            float ngRadian = (float)360.0 - okRadian;


            //rawResponse.Text = "Hàng OK: " + okNumber.ToString() + "   Hàng NG: " + ngNumber.ToString() + " Tổng cộng" + Total.ToString() + "\r\n";
            //rawResponse.Text += "Góc OK: " + okRadian.ToString() + "   Góc NG: " + ngRadian.ToString();
            int startRectY     = pictureBox.Size.Height / 2 - pictureBox.Size.Width / 2;
            int startRectX     = pictureBox.Size.Width / 2 - pictureBox.Size.Height / 2;
            int rectDimemtions = pictureBox.Size.Width;

            if (startRectY < 0)
            {
                startRectY     = 0;
                rectDimemtions = pictureBox.Size.Height;
            }
            if (startRectX < 0)
            {
                startRectX     = 0;
                rectDimemtions = pictureBox.Size.Width;
            }

            Rectangle rect         = new Rectangle(startRectX, startRectY, rectDimemtions, rectDimemtions);
            Bitmap    custormChart = new Bitmap(pictureBox.Size.Width, pictureBox.Size.Height);
            Graphics  g            = Graphics.FromImage(custormChart);

            //g.FillEllipse(Brushes.Red, pictureBox.Size.Width / 2 - pictureBox.Size.Height / 2, pictureBox.Size.Height / 2 - pictureBox.Size.Height / 2, pictureBox.Size.Height , pictureBox.Size.Height);
            g.FillPie(Brushes.Green, rect, 0, okRadian);
            g.FillPie(Brushes.Red, rect, okRadian, ngRadian);
            //g.FillEllipse(Brushes.White, pictureBox.Size.Width / 2 - pictureBox.Size.Height / 2 + 10, pictureBox.Size.Height / 2 - pictureBox.Size.Height / 2 + 10, pictureBox.Size.Height - 20, pictureBox.Size.Height - 20);
            if (pictureBox.Image != null)
            {
                pictureBox.Image.Dispose();
            }
            pictureBox.Image = custormChart;
        }