コード例 #1
0
        //djl
        public void Draw(CanvasWrapper canvas, RectangleF unitrect, int start, int end, int line, int strong)
        {
            if (Enabled == false)
            {
                return;
            }

            float gridX = m_spacing.Width;
            float gridY = m_spacing.Height;
            //Console.WriteLine("gridX=" + gridX + " ; Y=" + gridY);
            float gridscreensizeX = canvas.ToScreen(gridX);
            float gridscreensizeY = canvas.ToScreen(gridY);

            //Console.WriteLine("gridscreensizeX=" + gridscreensizeX + " ; Y=" + gridscreensizeY);
            if (gridscreensizeX < m_minSize || gridscreensizeY < m_minSize)
            {
                return;
            }

            PointF leftpoint  = unitrect.Location;
            PointF rightpoint = ScreenUtils.RightPoint(canvas, unitrect);

            float left   = (float)Math.Round(leftpoint.X / gridX) * gridX;
            float top    = unitrect.Height + unitrect.Y;
            float right  = rightpoint.X;
            float bottom = (float)Math.Round(leftpoint.Y / gridY) * gridY;

            GraphicsPath path = new GraphicsPath();
            PointF       p1;
            PointF       p2;

            if (true)
            {
                Console.WriteLine("left=" + left + " ; top=" + top + " ; right=" + right + " ; bottom=" + bottom
                                  + "; start=" + start + ";end=" + end + ";line=" + line);
                p1 = canvas.ToScreen(new UnitPoint(leftpoint.X + start, top - line * gridY));
                p2 = canvas.ToScreen(new UnitPoint(leftpoint.X + end, top - line * gridY));
            }
            try
            {
                Line l = new Line(p1, p2, strong);
                CanvasCtrl.M_canvas.List.Add(l);
                canvas.Graphics.DrawLine(new Pen(l.Color, 2), p1, p2);
            }
            catch (Exception e)
            {
                Console.Write(e.Message);
            }
        }
コード例 #2
0
ファイル: GridLayer.cs プロジェクト: sduxiaowu/NineLineScore
        public void Draw(CanvasWrapper canvas, RectangleF unitrect, int start, int end, int time, int strong)
        {
            if (Enabled == false)
            {
                return;
            }

            float gridX = Spacing.Width;
            float gridY = Spacing.Height;
            //Console.WriteLine("gridX=" + gridX + " ; Y=" + gridY);
            float gridscreensizeX = canvas.ToScreen(gridX);
            float gridscreensizeY = canvas.ToScreen(gridY);

            //Console.WriteLine("gridscreensizeX=" + gridscreensizeX + " ; Y=" + gridscreensizeY);
            if (gridscreensizeX < MinSize || gridscreensizeY < MinSize)
            {
                return;
            }

            PointF leftpoint  = unitrect.Location;
            PointF rightpoint = ScreenUtils.RightPoint(canvas, unitrect);

            float left   = (float)Math.Round(leftpoint.X / gridX) * gridX;
            float top    = unitrect.Height + unitrect.Y;
            float right  = rightpoint.X;
            float bottom = (float)Math.Round(leftpoint.Y / gridY) * gridY;


            //Console.WriteLine("left=" + left + " ; top=" + top + " ; right=" + right + " ; bottom=" + bottom);

            Pen          pen  = new Pen(d_color);
            GraphicsPath path = new GraphicsPath();

            while (bottom < top)
            {
                PointF p1 = canvas.ToScreen(new UnitPoint(leftpoint.X, bottom));
                PointF p2 = canvas.ToScreen(new UnitPoint(rightpoint.X, bottom));
                path.AddLine(p1, p2);
                path.CloseFigure();
                bottom += gridY;
            }

            if (canvas.Graphics != null)
            {
                canvas.Graphics.DrawPath(pen, path);
            }
        }
コード例 #3
0
        //djl
         public void Draw(CanvasWrapper canvas, RectangleF unitrect,int start,int end,int line,int strong){
             if (Enabled == false)
                 return;

             float gridX = m_spacing.Width;
             float gridY = m_spacing.Height;
             //Console.WriteLine("gridX=" + gridX + " ; Y=" + gridY);
             float gridscreensizeX = canvas.ToScreen(gridX);
             float gridscreensizeY = canvas.ToScreen(gridY);
             //Console.WriteLine("gridscreensizeX=" + gridscreensizeX + " ; Y=" + gridscreensizeY);
             if (gridscreensizeX < m_minSize || gridscreensizeY < m_minSize)
                 return;

             PointF leftpoint = unitrect.Location;
             PointF rightpoint = ScreenUtils.RightPoint(canvas, unitrect);

             float left = (float)Math.Round(leftpoint.X / gridX) * gridX;
             float top = unitrect.Height + unitrect.Y;
             float right = rightpoint.X;
             float bottom = (float)Math.Round(leftpoint.Y / gridY) * gridY;
       
             GraphicsPath path = new GraphicsPath();
             PointF p1;
             PointF p2;
             if(true)
             {
                 Console.WriteLine("left=" + left + " ; top=" + top + " ; right=" + right + " ; bottom=" + bottom
                     +"; start="+start+";end="+end+";line="+line);
                  p1= canvas.ToScreen(new UnitPoint(leftpoint.X+start,top-line*gridY));
                  p2= canvas.ToScreen(new UnitPoint(leftpoint.X+end, top-line*gridY));
                 
             }
             try
             {
                 Line l = new Line(p1, p2, strong);
                 CanvasCtrl.M_canvas.List.Add(l);
                 canvas.Graphics.DrawLine(new Pen(l.Color,2), p1, p2);
                
             }
             catch (Exception e)
             {

                 Console.Write(e.Message);
             }
             
            
         }
コード例 #4
0
ファイル: GridLayer.cs プロジェクト: sduxiaowu/NineLineScore
        public void Draw(CanvasWrapper canvas, RectangleF unitrect,int start ,int end ,int time,int strong)
        {

            if (Enabled == false)
                return;

            float gridX = Spacing.Width;
            float gridY = Spacing.Height;
            //Console.WriteLine("gridX=" + gridX + " ; Y=" + gridY);
            float gridscreensizeX = canvas.ToScreen(gridX);
            float gridscreensizeY = canvas.ToScreen(gridY);
            //Console.WriteLine("gridscreensizeX=" + gridscreensizeX + " ; Y=" + gridscreensizeY);
            if (gridscreensizeX < MinSize || gridscreensizeY < MinSize)
                return;

            PointF leftpoint = unitrect.Location;
            PointF rightpoint = ScreenUtils.RightPoint(canvas, unitrect);

            float left = (float)Math.Round(leftpoint.X / gridX) * gridX;
            float top = unitrect.Height + unitrect.Y;
            float right = rightpoint.X;
            float bottom = (float)Math.Round(leftpoint.Y / gridY) * gridY;


             //Console.WriteLine("left=" + left + " ; top=" + top + " ; right=" + right + " ; bottom=" + bottom);

            Pen pen = new Pen(d_color);
            GraphicsPath path = new GraphicsPath();
            while (bottom < top)
            {
                PointF p1 = canvas.ToScreen(new UnitPoint(leftpoint.X, bottom));
                PointF p2 = canvas.ToScreen(new UnitPoint(rightpoint.X, bottom));
                path.AddLine(p1, p2);
                path.CloseFigure();
                bottom += gridY;
            }
            
            if(canvas.Graphics!=null){canvas.Graphics.DrawPath(pen, path); }
        }