BiliRanking.Core.Fubang.AddPic2 C# (CSharp) Метод

AddPic2() публичный Метод

public AddPic2 ( BiliInterfaceInfo info, int n ) : void
info BiliInterfaceInfo
n int
Результат void
        public void AddPic2(BiliInterfaceInfo info, int n)
        {
            Log.Info("正在生成 - " + info.AVNUM);
            string picPath = Environment.CurrentDirectory + @"\pic\" + info.AVNUM + ".jpg";
            int x = 36;
            int y = 37 + 233 * (n - 1);
            try
            {
                Image pic = Image.FromFile(picPath);
                Image smallpic = resizeImage(pic, new Size(576, 360));
            //288 180
                Bitmap bmpFluffy = new Bitmap(smallpic);
                //bmpFluffy = new Bitmap(288, 180);
                Rectangle r = new Rectangle(Point.Empty, bmpFluffy.Size);

                using (Bitmap bmpMask = new Bitmap(r.Width, r.Height))
                using (Graphics g = Graphics.FromImage(bmpMask))
                using (GraphicsPath path = createRoundRect(
                    r.X, r.Y,
                    r.Width, r.Height,
                    8))
                {
                    g.FillRectangle(Brushes.Black, r);

                g.InterpolationMode = InterpolationMode.HighQualityBilinear;
                g.CompositingQuality = CompositingQuality.HighQuality;
                g.PixelOffsetMode = PixelOffsetMode.HighQuality;
                g.SmoothingMode = SmoothingMode.AntiAlias;

                g.FillPath(Brushes.White, path);

                    transferOneARGBChannelFromOneBitmapToAnother(
                        bmpMask,
                        bmpFluffy,
                        ChannelARGB.Blue,
                        ChannelARGB.Alpha);
                }
            // bmpFluffy is now powered up and ready to be used

            //Image roundedpic = RoundCorners(smallpic, 10);

            //g.DrawImage(roundedpic, 36, y);
            //g.DrawImageUnscaled(roundedpic, 36, y);
            g.DrawImage(bmpFluffy, new Rectangle(x, y, 288, 180));
                //g.DrawImage(pic, new Rectangle(250, nn - 15, 366, 218));
            }
            catch (Exception e)
            {
                //throw e;
                Log.Error(info.AVNUM + " - 封面文件获取失败,请在左侧窗格输入AV号尝试或手动获取!");
            }
            //g.InterpolationMode = InterpolationMode.HighQualityBicubic;
            //Source Han Sans SC = 思源黑体
            g.DrawString(info.title.Replace('【', '[').Replace('】',']'), new Font("思源黑体 Light", 42, GraphicsUnit.Pixel), b, 340, y - 2);
            g.DrawString($"分数: {info.Fdefen}   UP: {info.author}", new Font("思源黑体 Normal", 30, GraphicsUnit.Pixel), b, 340, y + 56);
            g.DrawString($"{info.avnum} 投稿时间: {info.created_at}", new Font("思源黑体 Regular", 25, GraphicsUnit.Pixel), b, 340, y + 142);

            if (info.Fpaiming < 100)
            {
                g.DrawString(info.Fpaiming.ToString(), new Font("思源黑体 ExtraLight", 72, GraphicsUnit.Pixel), b, 1152, y + 87);
            }
            else
            {
                g.DrawString(info.Fpaiming.ToString(), new Font("思源黑体 ExtraLight", 72, GraphicsUnit.Pixel), b, 1114, y + 87);
            }

            /*
            if (info.Fpaiming < 100)
            {
                g.DrawString(info.Fpaiming.ToString(), new Font("微软雅黑", 80, FontStyle.Bold), b, 110, nn - 30);
            }
            else
            {
                g.DrawString(info.Fpaiming.ToString(), new Font("微软雅黑", 60, FontStyle.Bold), b, 110, nn - 30);
            }

            g.DrawString(info.AVNUM.Substring(2), f, b, 725, nn);
            g.DrawString(info.Fdefen.ToString(), f, b, 1160, nn);
            if (info.author.Length <= 6)
            {
                g.DrawString(info.author, f, b, new RectangleF(1518, nn, 320, 320));
                //g.DrawString(info.up, f, b, 1518, nn);
            }
            else
            {
                g.DrawString(info.author, f, b, new RectangleF(1518, nn, 320, 320));
                //g.DrawString(info.up.Substring(0, 6), f, b, 1518, nn);
                //g.DrawString(info.up.Substring(6), f, b, 1518, nn + 74);
            }

            g.DrawString(info.created_at, f, b, 880, nn + 148);

            g.DrawString(info.title, new Font("微软雅黑", 32), b, 102, nn - 81);
            */
        }