예제 #1
0
        public static async Task Initial(IServiceProvider provider)
        {
            FFmpeg.ExecutablesPath = @"D:\office softwares\FFMpeg";

            UserAndVideoDbContext context = provider.GetRequiredService <UserAndVideoDbContext>();
            string videoDirectory         = Path.Combine(Directory.GetCurrentDirectory(), "Video");

            User author = context.Users.Include(u => u.Works).FirstOrDefault(u => u.Id == 1);

            if (!context.Videos.Any())
            {
                for (int i = 1; i <= 6; i++)
                {
                    string videoPath = Path.Combine(videoDirectory, $"{i}.mp4");
                    string picPath   = Path.Combine(videoDirectory, $"{i}.jpg");

                    if (File.Exists(picPath))
                    {
                        File.Delete(picPath);
                    }

                    //获取视频信息
                    IMediaInfo mediaInfo = await MediaInfo.Get(videoPath);

                    //以 0 秒时的画面作为封面图并保存在本地
                    Conversion.Snapshot(videoPath, picPath,
                                        TimeSpan.FromSeconds(0)).Start().Wait();

                    Video video = new Video()
                    {
                        Title             = $"轻音少女 第{i}集",
                        Author            = context.Users.FirstOrDefault(u => u.Id == 0),
                        Category          = Category.番剧,
                        VideoLocation     = videoPath,
                        Duration          = mediaInfo.Duration,
                        PublishDateTime   = DateTime.Now,
                        ThumbnailLocation = PictureTrimmer.GetLocalTrimmedPicture(picPath),
                        Tag       = "轻音少女",
                        VideoView = 0
                    };
                    author.Works.Add(video);
                    await context.Videos.AddAsync(video);

                    await context.SaveChangesAsync();
                }
            }
        }
 protected void SetPictureTrimmerConfiguration(PictureTrimmer pictureTrimmer)
 {
     pictureTrimmer.ShowDetailsPanel = this.cbShowDetailsPanel.Checked;
     pictureTrimmer.ShowZoomPanel = this.cbShowZoomPanel.Checked;
     pictureTrimmer.AllowResize = this.cbAllowResize.Checked;
     pictureTrimmer.ShowResizePanel = this.cbShowResizePanel.Checked;
     pictureTrimmer.ShowRotatePanel = this.cbShowRotatePanel.Checked;
     pictureTrimmer.ShowFlipPanel = this.cbShowFlipPanel.Checked;
     pictureTrimmer.ShowImageAdjustmentsPanel = this.cbShowImageAdjustmentsPanel.Checked;
     pictureTrimmer.ShowCropAlignmentLines = this.cbShowCropAlignmentLines.Checked;
     pictureTrimmer.EnableSnapping = this.cbEnableSnapping.Checked;
     pictureTrimmer.ShowRulers = this.cbShowRulers.Checked;
     pictureTrimmer.UIUnit = (GfxUnit)Enum.Parse(typeof(GfxUnit), this.ddlUIUnit.SelectedValue);
     pictureTrimmer.BackColor = System.Drawing.ColorTranslator.FromHtml(this.txtBackColor.Text);
     pictureTrimmer.ForeColor = System.Drawing.ColorTranslator.FromHtml(this.txtForeColor.Text);
     pictureTrimmer.CanvasColor.Value = System.Drawing.ColorTranslator.FromHtml(this.txtCanvasColor.Text);
     pictureTrimmer.ImageBackColor.Value = System.Drawing.ColorTranslator.FromHtml(this.txtImageBackColor.Text);
     pictureTrimmer.CropShadowMode = (PictureTrimmerCropShadowMode)Enum.Parse(typeof(PictureTrimmerCropShadowMode), this.ddlCropShadowMode.SelectedValue);
 }
 protected void SetPictureTrimmerConfiguration(PictureTrimmer pictureTrimmer)
 {
     pictureTrimmer.ShowDetailsPanel          = this.cbShowDetailsPanel.Checked;
     pictureTrimmer.ShowZoomPanel             = this.cbShowZoomPanel.Checked;
     pictureTrimmer.AllowResize               = this.cbAllowResize.Checked;
     pictureTrimmer.ShowResizePanel           = this.cbShowResizePanel.Checked;
     pictureTrimmer.ShowRotatePanel           = this.cbShowRotatePanel.Checked;
     pictureTrimmer.ShowFlipPanel             = this.cbShowFlipPanel.Checked;
     pictureTrimmer.ShowImageAdjustmentsPanel = this.cbShowImageAdjustmentsPanel.Checked;
     pictureTrimmer.ShowCropAlignmentLines    = this.cbShowCropAlignmentLines.Checked;
     pictureTrimmer.EnableSnapping            = this.cbEnableSnapping.Checked;
     pictureTrimmer.ShowRulers           = this.cbShowRulers.Checked;
     pictureTrimmer.UIUnit               = (GfxUnit)Enum.Parse(typeof(GfxUnit), this.ddlUIUnit.SelectedValue);
     pictureTrimmer.BackColor            = System.Drawing.ColorTranslator.FromHtml(this.txtBackColor.Text);
     pictureTrimmer.ForeColor            = System.Drawing.ColorTranslator.FromHtml(this.txtForeColor.Text);
     pictureTrimmer.CanvasColor.Value    = System.Drawing.ColorTranslator.FromHtml(this.txtCanvasColor.Text);
     pictureTrimmer.ImageBackColor.Value = System.Drawing.ColorTranslator.FromHtml(this.txtImageBackColor.Text);
     pictureTrimmer.CropShadowMode       = (PictureTrimmerCropShadowMode)Enum.Parse(typeof(PictureTrimmerCropShadowMode), this.ddlCropShadowMode.SelectedValue);
 }