Пример #1
0
        private void buttenGen_Click(object sender, RoutedEventArgs e)
        {
            BiliInterfaceInfo bi = BiliInterface.GetInfo(textBoxAv.Text);

            BiliInterface.GetFace(bi);
            BiliInterface.GetPic(bi);

            //text|font|ptSize|#colorcode|RightAlign TrueOrFalse|pointX|pointY|rectX|rectY|rectWidth|rectHeight|AutoOffsetY TrueOrFalse|MaxWidth

            List <TemplateInfo> tis = new List <TemplateInfo>();
            string text             = textBoxInfo.Text;

            text = Fubang.DoReplace(text, bi);
            var lines = Regex.Split(text, "\r\n|\r|\n");

            foreach (string line in lines)
            {
                if (string.IsNullOrEmpty(line))
                {
                    continue;
                }
                var          cells = Regex.Split(line, "[|]");
                TemplateInfo ti    = new TemplateInfo()
                {
                    text         = cells[0],
                    font         = new Font(cells[1], Convert.ToSingle(cells[2]), GraphicsUnit.Point),
                    brush        = new SolidBrush(ColorTranslator.FromHtml(cells[3])),
                    isRightAlign = bool.Parse(cells[4])
                };
                if (!ti.isRightAlign)
                {
                    ti.point = new PointF(Convert.ToSingle(cells[5]), Convert.ToSingle(cells[6]));
                }
                else
                {
                    ti.rectangle = new RectangleF(Convert.ToSingle(cells[7]), Convert.ToSingle(cells[8]), Convert.ToSingle(cells[9]), Convert.ToSingle(cells[10]));
                }
                if (cells.Length >= 12)
                {
                    ti.autoOffsetY = bool.Parse(cells[11]);
                }
                if (cells.Length >= 13)
                {
                    ti.maxWidth = Convert.ToSingle(cells[12]);
                }
                tis.Add(ti);
            }
            Zhubang zb = new Zhubang();

            System.Drawing.Image re;
            if (bgimg == null)
            {
                re = zb.GenStardustTemplate(tis);
            }
            else
            {
                re = zb.GenWithTemplate((System.Drawing.Image)bgimg.Clone(), tis);
            }
            imageMain.Source = ConvertDrawingImage2MediaImageSource(re);
        }
Пример #2
0
        private void buttonGenCustom_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog dlg             = new OpenFileDialog();
            var            imageExtensions = string.Join(";", System.Drawing.Imaging.ImageCodecInfo.GetImageDecoders().Select(ici => ici.FilenameExtension));

            dlg.Filter = $"图片文件|{imageExtensions}|所有文件|*.*";
            if (dlg.ShowDialog() == true)
            {
                System.Drawing.Image bgimg = System.Drawing.Image.FromFile(dlg.FileName);
                Fubang.GenWithTemplate(SharedData.Infos, bgimg, textBoxTemplate.Text, int.Parse(textBoxRepeat.Text), float.Parse(textBoxOffset.Text));
            }
        }
Пример #3
0
        private void buttonFubang2_Click(object sender, EventArgs e)
        {
            List <BiliInterfaceInfo> linfo = new List <BiliInterfaceInfo>();
            int start = int.Parse(textBoxFubangStart.Text);

            foreach (BiliInterfaceInfo i in (List <BiliInterfaceInfo>)dataGridViewRAW.DataSource)
            {
                if (i.Fpaiming >= start)
                {
                    linfo.Add(i);
                }
            }

            //TODO: 再次排序
            Fubang fu = new Fubang();

            fu.Gen2(linfo);
        }
Пример #4
0
        private void buttonGenFubang2_Click(object sender, RoutedEventArgs e)
        {
            List <BiliInterfaceInfo> linfo = new List <BiliInterfaceInfo>();
            int start = int.Parse(textBoxFrom.Text);

            foreach (BiliInterfaceInfo i in (List <BiliInterfaceInfo>)SharedData.Infos)
            {
                if (i.Fpaiming >= start)
                {
                    linfo.Add(i);
                }
            }

            //TODO: 再次排序
            Fubang fu = new Fubang();

            Task.Run(() => fu.Gen2(linfo));
        }
Пример #5
0
        private void buttonGenCustom_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog dlg             = new OpenFileDialog();
            var            imageExtensions = string.Join(";", System.Drawing.Imaging.ImageCodecInfo.GetImageDecoders().Select(ici => ici.FilenameExtension));

            dlg.Filter = $"图片文件|{imageExtensions}|所有文件|*.*";
            if (dlg.ShowDialog() == true)
            {
                System.Drawing.Image bgimg = System.Drawing.Image.FromFile(dlg.FileName);
                string ext = System.IO.Path.GetExtension(dlg.FileName);

                List <BiliInterfaceInfo> linfo = new List <BiliInterfaceInfo>();
                int start = int.Parse(textBoxFrom.Text);
                foreach (BiliInterfaceInfo i in (List <BiliInterfaceInfo>)SharedData.Infos)
                {
                    if (i.Fpaiming >= start)
                    {
                        linfo.Add(i);
                    }
                }

                Fubang.GenWithTemplate(linfo, bgimg, textBoxTemplate.Text, int.Parse(textBoxRepeat.Text), float.Parse(textBoxOffset.Text), ext);
            }
        }