GetPic() public static method

public static GetPic ( BiliInterfaceInfo info ) : void
info BiliInterfaceInfo
return void
Beispiel #1
0
        public void Gen2(List <BiliInterfaceInfo> infos)
        {
            Log.Info("【副榜】开始生成" + infos.Count + "个视频的图片(每3个一张图)");
            foreach (BiliInterfaceInfo info in infos)
            {
                BiliInterface.GetPic(info);
            }
            for (int i = 0; i < infos.Count; i += 3)
            {
                image               = Properties.Resources.fubang2;
                g                   = Graphics.FromImage(image);
                g.SmoothingMode     = SmoothingMode.HighQuality;
                g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
                g.PixelOffsetMode   = PixelOffsetMode.HighQuality;
                g.InterpolationMode = InterpolationMode.HighQualityBilinear;

                AddPic2(infos[i], 1);
                if (i + 1 < infos.Count)
                {
                    AddPic2(infos[i + 1], 2);
                }
                if (i + 2 < infos.Count)
                {
                    AddPic2(infos[i + 2], 3);
                }

                string url = Environment.CurrentDirectory + @"\pic\Rank" + infos[i].Fpaiming + "-" + (infos[i].Fpaiming + 2) + ".png";
                Log.Info("保存图片 " + url);
                image.Save(url);
            }

            Log.Info("副榜图片批量生成完成");
        }
Beispiel #2
0
        public void Gen(List <BiliInterfaceInfo> infos)
        {
            //Gen2(infos);
            //return;

            Log.Info("【副榜】开始生成" + infos.Count + "个视频的图片(每3个一张图)");
            foreach (BiliInterfaceInfo info in infos)
            {
                BiliInterface.GetPic(info);
            }
            for (int i = 0; i < infos.Count; i += 3)
            {
                image = Properties.Resources.fubang;//Image.FromFile("fubang.png");
                g     = Graphics.FromImage(image);

                AddPic(infos[i], 1);
                if (i + 1 < infos.Count)
                {
                    AddPic(infos[i + 1], 2);
                }
                if (i + 2 < infos.Count)
                {
                    AddPic(infos[i + 2], 3);
                }

                string url = Environment.CurrentDirectory + @"\pic\Rank" + infos[i].Fpaiming + "-" + (infos[i].Fpaiming + 2) + ".jpg";
                Log.Info("保存图片 " + url);
                image.Save(url);
            }

            Log.Info("副榜图片批量生成完成");
        }
Beispiel #3
0
        public static void GenWithTemplate(IEnumerable <BiliInterfaceInfo> binfos, Image bg, string template, int repeat, float offset, string ext = "jpg")
        {
            Zhubang zb = new Zhubang();

            foreach (BiliInterfaceInfo info in binfos)
            {
                BiliInterface.GetPic(info);
            }

            List <Zhubang.TemplateInfo> tinfos = new List <Zhubang.TemplateInfo>();

            for (int j = 0; j < binfos.Count(); j += repeat)
            {
                Image image = (Image)bg.Clone();
                for (int i = 0; i < repeat; i++)
                {
                    if (j + i >= binfos.Count())
                    {
                        break;
                    }
                    tinfos = ParseTemplate(binfos.ElementAt(j + i), template);
                    foreach (var tinfo in tinfos)
                    {
                        if (tinfo.point != null)
                        {
                            tinfo.point.Y += offset * i;
                        }
                        if (tinfo.rectangle != null)
                        {
                            tinfo.rectangle.Y += offset * i;
                        }
                    }
                    image = zb.GenWithTemplate(image, tinfos);
                }
                string url = FileManager.currentPath + @"\pic\Rank" + binfos.ElementAt(j).Fpaiming + "-" + (binfos.ElementAt(j).Fpaiming + repeat - 1) + "." + ext;
                image.Save(url);
                image.Dispose();
            }
        }