Пример #1
0
        public void Draw_Grid()
        {
            StringFormat _SF = new StringFormat()
            {
                LineAlignment = StringAlignment.Far,
                Alignment     = StringAlignment.Far
            };

            int Max       = ValueX.Max();
            int Min       = ValueX.Min();
            int Grid_Step = Interval(Max - Min);
            int MaxPStep  = (int)(Math.Ceiling(Max / 5.0) * 5) + Grid_Step;

            int max_height = (H - 80) - (int)G.MeasureString(Title, Font).Height + 10;
            int space      = max_height / (MaxPStep / Grid_Step);
            int temp_y     = (int)G.MeasureString(Title, Font).Height + 35;

            for (int _ = MaxPStep; _ >= 0; _ -= Grid_Step)
            {
                G.DrawString(_.ToString(), Font, new SolidBrush(ForeColor), new Rectangle(0, temp_y, (int)G.MeasureString(Max.ToString(), Font).Width + 5, (int)G.MeasureString(_.ToString(), Font).Height), _SF);


                G.DrawLine(new Pen(Color.FromArgb(217, 217, 217), 1), (int)G.MeasureString(Max.ToString(), Font).Width + 10, temp_y + ((int)G.MeasureString(_.ToString(), Font).Height) / 2, W - 10, temp_y + ((int)G.MeasureString(_.ToString(), Font).Height) / 2);

                temp_y += space;
            }
        }
Пример #2
0
        public void Draw_Bar()
        {
            StringFormat _SF = new StringFormat()
            {
                LineAlignment = StringAlignment.Center,
                Alignment     = StringAlignment.Center
            };

            //
            int max_height = (H - 80) - (int)G.MeasureString(Title, Font).Height + 10;
            int Max        = ValueX.Max();
            int Min        = ValueX.Min();
            int Grid_Step  = Interval(Max - Min);
            int MaxPStep   = (int)(Math.Ceiling(Max / 5.0) * 5) + Grid_Step;
            int space      = max_height / (MaxPStep / Grid_Step);
            int max_start  = (int)G.MeasureString(Title, Font).Height + 35 + ((int)G.MeasureString(ValueX.Max().ToString(), Font).Height) / 2;

            max_height  = max_height - (int)G.MeasureString("0", Font).Height / 2;
            max_height += 2;
            max_start  += space;

            int validW       = W - (int)G.MeasureString(ValueX.Max().ToString(), Font).Width - 30;
            int HSpace       = (validW / ValueX.Count) - (ValueX.Count * 2);
            int start_x_temp = 0 + (int)G.MeasureString(ValueX.Max().ToString(), Font).Width + 60;

            double beta = ((max_height - (double)space)) / Max;

            int xtempee = 0;
            int ytempee = 0;

            foreach (int item in ValueX)
            {
                int tempoftemp = (max_height - space) - (int)(item * (beta));
                //MessageBox.Show(tempoftemp.ToString());
                System.Drawing.Drawing2D.GraphicsPath c = new System.Drawing.Drawing2D.GraphicsPath();
                if (xtempee != 0)
                {
                    G.DrawLine(new Pen(Color.FromArgb(91, 155, 213), 4), xtempee, ytempee, start_x_temp, max_start + tempoftemp);
                }

                //G.FillPie(new SolidBrush(Color.FromArgb(91, 155, 213)), new Rectangle(start_x_temp, max_start + tempoftemp, 10, 10), 0, 360);
                //G.FillRectangle(new SolidBrush(Color.FromArgb(91, 155, 213)), new Rectangle(start_x_temp, max_start + tempoftemp, 20, (max_height - space) - tempoftemp));
                xtempee = start_x_temp;
                ytempee = max_start + tempoftemp;
                //G.DrawString(item.ToString(), Font, new SolidBrush(ForeColor), new Rectangle(start_x_temp, H - 25, 20, (int)(G.MeasureString("0", Font).Height)), _SF);
                start_x_temp += HSpace;
            }
        }
Пример #3
0
        public void Draw_Bar()
        {
            StringFormat _SF = new StringFormat()
            {
                LineAlignment = StringAlignment.Center,
                Alignment     = StringAlignment.Center
            };

            //
            int max_height = (H - 80) - (int)G.MeasureString(Title, Font).Height + 10;
            int Max        = ValueX.Max();
            int Min        = ValueX.Min();
            int Grid_Step  = Interval(Max - Min);
            int MaxPStep   = (int)(Math.Ceiling(Max / 5.0) * 5) + Grid_Step;
            int space      = max_height / (MaxPStep / Grid_Step);
            int max_start  = (int)G.MeasureString(Title, Font).Height + 35 + ((int)G.MeasureString(ValueX.Max().ToString(), Font).Height) / 2;

            max_height  = max_height - (int)G.MeasureString("0", Font).Height / 2;
            max_height += 2;
            max_start  += space;

            int validW       = W - (int)G.MeasureString(ValueX.Max().ToString(), Font).Width - 30;
            int HSpace       = (validW / ValueX.Count) - (ValueX.Count * 2);
            int start_x_temp = 0 + (int)G.MeasureString(ValueX.Max().ToString(), Font).Width + 60;

            int    alpha = max_start / Max;
            double beta  = ((max_height - (double)space)) / Max;

            foreach (int item in ValueX)
            {
                int tempoftemp = (max_height - space) - (int)(item * (beta));
                G.FillPie(new SolidBrush(Color.FromArgb(91, 155, 213)), new Rectangle(start_x_temp, max_start + tempoftemp - (((int)G.MeasureString("0", Font).Height) / 2), 10, 10), 0, 360);
                //G.DrawString(item.ToString(), Font, new SolidBrush(ForeColor), new Rectangle(start_x_temp, H - 25, 20, (int)(G.MeasureString("0", Font).Height)), _SF);
                start_x_temp += HSpace;
            }
        }
Пример #4
0
        public void Draw_Bar()
        {

            StringFormat _SF = new StringFormat()
            {
                LineAlignment = StringAlignment.Center,
                Alignment = StringAlignment.Center
            };

            int Available_height = (H - 80) - (int)G.MeasureString(Title, Font).Height + 10;
            int Grid_Space = Available_height / (((int)(Math.Ceiling(ValueX.Max() / 5.0) * 5) + Interval(ValueX.Max() - ValueX.Min())) / Interval(ValueX.Max() - ValueX.Min()));
            int Y_Start_Point = (int)G.MeasureString(Title, Font).Height + 35 + ((int)G.MeasureString(ValueX.Max().ToString(), Font).Height) / 2;

            Available_height -= (int)G.MeasureString("0", Font).Height / 2;
            Available_height += 2;

            Y_Start_Point += Grid_Space;

            int validW = W - (int)G.MeasureString(ValueX.Max().ToString(), Font).Width - 30;
            int HSpace = (validW / ValueX.Count) - (ValueX.Count * 2);
            int X_Start_Point = 0 + (int)G.MeasureString(ValueX.Max().ToString(), Font).Width + 60;

            double Beta = (Available_height - (double)Grid_Space) / ValueX.Max();
            int preHeight = 0;
            foreach (int item in ValueX)
            {
                int Not_Height_OF_Bar = (Available_height - Grid_Space) - (int)(item * Beta);
                G.FillRectangle(new SolidBrush(Color.FromArgb(91, 155, 213)), new Rectangle(X_Start_Point, Y_Start_Point + Not_Height_OF_Bar, 20, (Available_height - Grid_Space) - Not_Height_OF_Bar - preHeight));
                G.DrawString(item.ToString(), Font, new SolidBrush(ForeColor), new Rectangle(X_Start_Point, H - 25, 20, (int)(G.MeasureString("0", Font).Height)), _SF);
                X_Start_Point += HSpace;
                preHeight = (Available_height - Grid_Space) - Not_Height_OF_Bar;
            }
        }
Пример #5
0
        public void Draw_Grid()
        {
            int Y_Start_Point = (int)G.MeasureString(Title, Font).Height + 35;

            for (int _ = (int)(Math.Ceiling(ValueX.Max() / 5.0) * 5) + Interval(ValueX.Max() - ValueX.Min()); _ >= 0; _ -= Interval(ValueX.Max() - ValueX.Min()))
            {
                G.DrawString(_.ToString(), base.Font, new SolidBrush(base.ForeColor), new Rectangle(0, Y_Start_Point, (int)G.MeasureString(ValueX.Max().ToString(), base.Font).Width + 5, (int)G.MeasureString(_.ToString(), base.Font).Height), new StringFormat()
                {
                    LineAlignment = StringAlignment.Far,
                    Alignment     = StringAlignment.Far
                });
                G.DrawLine(new Pen(Color.FromArgb(217, 217, 217), 1), (int)G.MeasureString(ValueX.Max().ToString(), base.Font).Width + 10, Y_Start_Point + ((int)G.MeasureString(_.ToString(), base.Font).Height) / 2, W - 10, Y_Start_Point + ((int)G.MeasureString(_.ToString(), base.Font).Height) / 2);
                Y_Start_Point += ((H - 80) - (int)G.MeasureString(Title, base.Font).Height + 10) / (((int)(Math.Ceiling(ValueX.Max() / 5.0) * 5) + Interval(ValueX.Max() - ValueX.Min())) / Interval(ValueX.Max() - ValueX.Min()));
            }
        }
Пример #6
0
        public void Draw_Bar()
        {
            StringFormat _SF = new StringFormat()
            {
                LineAlignment = StringAlignment.Center,
                Alignment     = StringAlignment.Center
            };

            //int Y_Start_Point = (int)G.MeasureString(Title, Font).Height + 35 + NumberHeight / 2;

            //int Available_height = H - 80 - NumberHeight / 2;
            //int Grid_Space = Available_height / (((int)(Math.Ceiling(ValueX.Max() / 5.0) * 5) + Interval(ValueX.Max() - ValueX.Min())) / Interval(ValueX.Max() - ValueX.Min()));
            //double Beta = ((Available_height - Grid_Space)) / ValueX.Max();
            //MessageBox.Show(Height.ToString() + "|" + Available_height.ToString() + "|" + Grid_Space.ToString() + "|" + Beta.ToString());

            //G.FillRectangle(Brushes.Black, 60, Y_Start_Point, 20, Available_height - (int)(ValueX[0] * 3.31));
            //G.FillRectangle(Brushes.Black, 80, Y_Start_Point, 20, Available_height - (int)(ValueX[1] * 3.31));
            //G.FillRectangle(Brushes.Black, 100, Y_Start_Point, 20, Available_height - (int)(ValueX[2] * 3.31));
            //
            int Available_height = (H - 80) - (int)G.MeasureString(Title, Font).Height + 10;
            int Grid_Space       = Available_height / (((int)(Math.Ceiling(ValueX.Max() / 5.0) * 5) + Interval(ValueX.Max() - ValueX.Min())) / Interval(ValueX.Max() - ValueX.Min()));
            int Y_Start_Point    = (int)G.MeasureString(Title, Font).Height + 35 + ((int)G.MeasureString(ValueX.Max().ToString(), Font).Height) / 2;

            Available_height -= (int)G.MeasureString("0", Font).Height / 2;
            Available_height += 2;

            Y_Start_Point += Grid_Space;

            int validW        = W - (int)G.MeasureString(ValueX.Max().ToString(), Font).Width - 30;
            int X_Start_Point = 0 + (int)G.MeasureString(ValueX.Max().ToString(), Font).Width + 60;

            int    HSpace = (validW / ValueX.Count) - (ValueX.Count * 2);
            double Beta   = (Available_height - (double)Grid_Space) / ValueX.Max();

            foreach (int item in ValueX)
            {
                int Not_Height_OF_Bar = (Available_height - Grid_Space) - (int)(item * Beta);
                G.FillRectangle(new SolidBrush(Color.FromArgb(91, 155, 213)), new Rectangle(X_Start_Point, Y_Start_Point + Not_Height_OF_Bar, 20, (Available_height - Grid_Space) - Not_Height_OF_Bar));
                G.DrawString(item.ToString(), Font, new SolidBrush(ForeColor), new Rectangle(X_Start_Point, H - 25, 20, (int)(G.MeasureString("0", Font).Height)), _SF);
                X_Start_Point += HSpace;
            }
        }