コード例 #1
0
ファイル: BarFinder.cs プロジェクト: rvissontai/pixel_bot
        public BarPositionModel FromScreenShot(Bitmap screenShot, string colorPixelBar)
        {
            var position           = new BarPositionModel();
            var colorFirstPixelBar = ColorTranslator.FromHtml(colorPixelBar);

            //Encontrar o primeiro pixel com a cor do HP
            for (int y = 0; y < screenShot.Height; ++y)
            {
                for (int x = 0; x < screenShot.Width; ++x)
                {
                    var colorPixel = screenShot.GetPixel(x, y);

                    if (colorPixel == colorFirstPixelBar)
                    {
                        position.FirstPixelX = x;
                        position.FirstPixelY = y;
                        position.LastPixelY  = y;

                        break;
                    }
                }

                if (position.FirstPixelX > 0)
                {
                    break;
                }
            }

            //Encontrar o útimo pixel do hp, que esteja na mesma linha do primeiro pixel
            for (int x = screenShot.Width - 1; x > position.FirstPixelX; x--)
            {
                var colorPixel = screenShot.GetPixel(x, position.FirstPixelY);

                if (colorPixel == colorFirstPixelBar)
                {
                    position.LastPixelX = x;

                    break;
                }
            }

            return(position);
        }
コード例 #2
0
ファイル: Configuration.cs プロジェクト: rvissontai/pixel_bot
 private static void BindConfigurationBarPositionModel(ConfigurationBarModel configurationModel, BarPositionModel barPositionModel)
 {
     configurationModel.FirstPixelX  = barPositionModel.FirstPixelX;
     configurationModel.FirstPixelY  = barPositionModel.FirstPixelY;
     configurationModel.LastPixelX   = barPositionModel.LastPixelX;
     configurationModel.LastPixelY   = barPositionModel.LastPixelY;
     configurationModel.SizeInPixels = barPositionModel.SizeInPixels;
 }