示例#1
0
        public static void ParseIcons(string HTML)
        {
            CQ cq = CQ.Create(HTML).Find(Selectors.GetIconContainer());

            var cq2 = cq.Find(Selectors.GetIconSelector());

            foreach (var iconData in cq2)
            {
                var element = iconData.FirstChild.FirstChild;
                var alt     = element.Attributes["alt"];
                var srcset  = element.Attributes["srcset"].Split(' ');
                var src     = srcset[srcset.Length - 2];

                var finder = Heroes.Where(x => x.Name == alt);
                if (finder.Count > 0)
                {
                    WebExtension[finder[0].Id].IconUrl = src;
                }


                Caching(src, $"./Source/Icons/{alt}.png");

                Bitmap img = new Bitmap(new Bitmap($"./Source/Icons/{alt}.png"), new Size(60, 60));


                Bitmap imgWithFrame = new Bitmap(img);

                using (Graphics g = Graphics.FromImage(imgWithFrame))
                {
                    g.DrawRectangle(new Pen(Brushes.Gold, 2), new Rectangle(0, 0, img.Width, img.Height));
                }

                imgWithFrame.Save($"./Source/Icons/{alt}_h.png");

                Image corner = OvalImage(img, Color.Transparent);

                Bitmap rez = new Bitmap(70, 70);
                using (Graphics g = Graphics.FromImage(rez))
                {
                    g.DrawImage(corner, new Rectangle(5, 5, 60, 60), new Rectangle(0, 0, 60, 60), GraphicsUnit.Pixel);
                }

                rez.Save($"./Source/Icons/{alt}_corner.png");

                using (Graphics g = Graphics.FromImage(rez))
                {
                    var pen = new Pen(new SolidBrush(Color.Gold), 1);

                    for (int i = 0; i < 10; i++)
                    {
                        pen.Color = Color.FromArgb((int)(20 + i * 2), Color.Gold.R, Color.Gold.G, Color.Gold.B);
                        pen.Width = 10 - i;
                        g.DrawEllipse(pen, 5, 5, corner.Width, corner.Height);
                    }
                }

                rez.Save($"./Source/Icons/{alt}_corner_h.png");
            }
        }