Esempio n. 1
0
 private static System.Drawing.Point[] ToPointsArray(List<IntPoint> corners)
 {
     var points = new System.Drawing.Point[corners.Count];
     for (var i = 0; i < points.Length; i++)
     {
         points[i] = new System.Drawing.Point(corners[i].X, corners[i].Y);
     }
     return points;
 }
 /// <summary>
 /// Converts <see cref="System.Drawing.PointF"/> to the <see cref="AForge.Point"/>.
 /// </summary>
 /// <param name="point"><see cref="System.Drawing.PointF"/></param>
 /// <returns><see cref="AForge.Point"/></returns>
 public static PointF ToPt(this System.Drawing.PointF point)
 {
     return(new PointF(point.X, point.Y));
 }
Esempio n. 3
0
        public static void DebugPlotVectorOnMap(CurrentGameState state, System.Drawing.Point[] points = null)
        {
            if (state.FriendlyHeroes == null) return;
            var src = GrabScreenGDI(gameScreen);
            //var thresholded = ThresholdCropBitmap(src, new Rectangle(1450, 775, 450, 350), 200);
            var sourceImage = ChangePixelFormat(src, PixelFormat.Format24bppRgb);
            src.Dispose();
            var gc = Graphics.FromImage(sourceImage);
            var greenBrush = new SolidBrush(Color.Lime);
            var redBrush = new SolidBrush(Color.Red);
            var font = new Font(SystemFonts.DefaultFont.FontFamily, 50);

            foreach (var point in state.TowersFound)
            {
                gc.DrawString("T", font, redBrush, point.X, point.Y);
            }
            foreach (var point in state.EnemyHeroes)
            {
                gc.DrawString("H", font, redBrush, point.Position.X, point.Position.Y);
            }
            foreach (var point in state.FriendlyHeroes)
                gc.DrawString("H", font, greenBrush, point.Position.X, point.Position.Y);

            foreach (var point in state.EnemyCreepsNearby)
                gc.DrawString("C", font, redBrush, point.X, point.Y);
            foreach (var point in state.FriendlyCreepsNearby)
                gc.DrawString("C", font, greenBrush, point.X, point.Y);

            try
            {
                var pp = new System.Drawing.Point();
                foreach (var p in points)
                {
                    gc.DrawEllipse(new Pen(Color.Magenta), p.X - 4, p.Y - 4, 8, 8);
                    if (!pp.IsEmpty)
                        gc.DrawLine(new Pen(Color.Lime), pp, p);
                    pp = p;
                }
            }
            catch (Exception e)
            {
            }

            gc.Dispose();
            sourceImage.Save("./debug/ss.png");
            sourceImage.Dispose();
        }