Exemplo n.º 1
0
 public long Add(ScreenShotModel model)
 {
     model.KeyId     = Guid.NewGuid();
     model.CreatedAt = model.UpdatedAt = DateTime.Now;
     #region 保存截图
     var imageResult = Execute <string>(() => {
         var savePath    = $"//Monitor//Screen//{model.CreatedAt.Year}//{model.CreatedAt.Month}//{model.CreatedAt.Day}//{model.KeyId}.jpeg";
         string path     = $"{Directory.GetCurrentDirectory()}//wwwroot//{savePath}";
         string filepath = Path.GetDirectoryName(path);
         if (!Directory.Exists(filepath))
         {
             Directory.CreateDirectory(filepath);
         }
         string dummyData = model.ScreenInfo.Trim().Replace("%", "").Replace(",", "").Replace(" ", "+");
         if (dummyData.Length % 4 > 0)
         {
             dummyData = dummyData.PadRight(dummyData.Length + 4 - dummyData.Length % 4, '=');
         }
         var photoBytes = Convert.FromBase64String(dummyData);
         File.WriteAllBytes(path, photoBytes);
         return(savePath);
     });
     if (imageResult.Status == 200)
     {
         model.ScreenInfo = imageResult.Data;
     }
     #endregion
     var result = Execute <long>(() =>
     {
         return(_repository.Add(model));
     });
     return(result.Data);
 }
Exemplo n.º 2
0
        public ScreenShotViewModel(LanguageManager loc,
                                   Settings settings,
                                   DiskWriter diskWriter,
                                   ClipboardWriter clipboardWriter,
                                   ImageUploadWriter imgurWriter,
                                   ScreenShotModel screenShotModel,
                                   VideoSourcesViewModel videoSourcesViewModel,
                                   IPlatformServices platformServices) : base(settings, loc)
        {
            DiskWriter      = diskWriter;
            ClipboardWriter = clipboardWriter;
            ImgurWriter     = imgurWriter;

            ScreenShotCommand = videoSourcesViewModel
                                .ObserveProperty(sourcesViewModel => sourcesViewModel.SelectedVideoSourceKind)
                                .Select(videoSourceProvider => !(videoSourceProvider is NoVideoSourceProvider))
                                .ToReactiveCommand()
                                .WithSubscribe(() => screenShotModel.CaptureScreenShot());

            async Task ScreenShotWindow(IWindow window)
            {
                var img = screenShotModel.ScreenShotWindow(window);

                await screenShotModel.SaveScreenShot(img);
            }

            ScreenShotActiveCommand  = new DelegateCommand(async() => await ScreenShotWindow(platformServices.ForegroundWindow));
            ScreenShotDesktopCommand = new DelegateCommand(async() => await ScreenShotWindow(platformServices.DesktopWindow));
            ScreenshotRegionCommand  = new DelegateCommand(async() => await screenShotModel.ScreenshotRegion());
            ScreenshotWindowCommand  = new DelegateCommand(async() => await screenShotModel.ScreenshotWindow());
            ScreenshotScreenCommand  = new DelegateCommand(async() => await screenShotModel.ScreenshotScreen());
        }
Exemplo n.º 3
0
        public ConsoleManager(Settings Settings,
                              RecordingModel RecordingModel,
                              MainModel MainModel,
                              ScreenShotModel ScreenShotModel,
                              VideoSourcesViewModel VideoSourcesViewModel,
                              IEnumerable <IVideoSourceProvider> VideoSourceProviders,
                              VideoWritersViewModel VideoWritersViewModel,
                              IPlatformServices PlatformServices,
                              WebcamModel WebcamModel,
                              IMessageProvider MessageProvider)
        {
            _settings              = Settings;
            _recordingModel        = RecordingModel;
            _mainModel             = MainModel;
            _screenShotModel       = ScreenShotModel;
            _videoSourcesViewModel = VideoSourcesViewModel;
            _videoSourceProviders  = VideoSourceProviders;
            _videoWritersViewModel = VideoWritersViewModel;
            _platformServices      = PlatformServices;
            _webcamModel           = WebcamModel;
            _messageProvider       = MessageProvider;

            // Hide on Full Screen Screenshot doesn't work on Console
            Settings.UI.HideOnFullScreenShot = false;
        }
Exemplo n.º 4
0
        public WebcamPage(WebcamModel WebcamModel,
                          ScreenShotModel ScreenShotModel,
                          IPlatformServices PlatformServices)
        {
            _webcamModel      = WebcamModel;
            _screenShotModel  = ScreenShotModel;
            _platformServices = PlatformServices;

            InitializeComponent();
        }
Exemplo n.º 5
0
        public WebcamPage(WebcamModel WebcamModel,
                          ScreenShotModel ScreenShotModel,
                          IPlatformServices PlatformServices,
                          WebcamOverlaySettings WebcamSettings)
        {
            _webcamModel      = WebcamModel;
            _screenShotModel  = ScreenShotModel;
            _platformServices = PlatformServices;

            _reactor = new WebcamOverlayReactor(WebcamSettings);

            Loaded += OnLoaded;

            InitializeComponent();
        }
Exemplo n.º 6
0
 public RememberByName(Settings Settings,
                       VideoSourcesViewModel VideoSourcesViewModel,
                       VideoWritersViewModel VideoWritersViewModel,
                       AudioSource AudioSource,
                       ScreenShotModel ScreenShotModel,
                       IEnumerable <IVideoSourceProvider> VideoSourceProviders,
                       WebcamModel WebcamModel)
 {
     _settings = Settings;
     _videoSourcesViewModel = VideoSourcesViewModel;
     _videoWritersViewModel = VideoWritersViewModel;
     _audioSource           = AudioSource;
     _screenShotModel       = ScreenShotModel;
     _videoSourceProviders  = VideoSourceProviders;
     _webcamModel           = WebcamModel;
 }
Exemplo n.º 7
0
 public RememberByName(Settings.Settings settings,
                       VideoSourcesViewModel videoSourcesViewModel,
                       VideoWritersViewModel videoWritersViewModel,
                       AudioSource audioSource,
                       IWebCamProvider webCamProvider,
                       ScreenShotModel screenShotModel,
                       IEnumerable <IVideoSourceProvider> videoSourceProviders)
 {
     _settings = settings;
     _videoSourcesViewModel = videoSourcesViewModel;
     _videoWritersViewModel = videoWritersViewModel;
     _audioSource           = audioSource;
     _webCamProvider        = webCamProvider;
     _screenShotModel       = screenShotModel;
     _videoSourceProviders  = videoSourceProviders;
 }
Exemplo n.º 8
0
        public WebCamWindow(WebcamModel WebcamModel,
                            ScreenShotModel ScreenShotModel,
                            IPlatformServices PlatformServices)
        {
            _webcamModel      = WebcamModel;
            _screenShotModel  = ScreenShotModel;
            _platformServices = PlatformServices;

            InitializeComponent();

            Closing += (S, E) =>
            {
                Hide();

                E.Cancel = true;
            };
        }
Exemplo n.º 9
0
        public ConsoleManager(Settings Settings,
                              RecordingModel RecordingModel,
                              MainModel MainModel,
                              ScreenShotModel ScreenShotModel,
                              VideoSourcesViewModel VideoSourcesViewModel,
                              IEnumerable <IVideoSourceProvider> VideoSourceProviders,
                              IWebCamProvider WebCamProvider, VideoWritersViewModel VideoWritersViewModel)
        {
            _settings              = Settings;
            _recordingModel        = RecordingModel;
            _mainModel             = MainModel;
            _screenShotModel       = ScreenShotModel;
            _videoSourcesViewModel = VideoSourcesViewModel;
            _videoSourceProviders  = VideoSourceProviders;
            _webCamProvider        = WebCamProvider;
            _videoWritersViewModel = VideoWritersViewModel;

            // Hide on Full Screen Screenshot doesn't work on Console
            Settings.UI.HideOnFullScreenShot = false;
        }
Exemplo n.º 10
0
        public ConsoleManager(Settings settings,
                              RecordingModel recordingModel,
                              MainModel mainModel,
                              ScreenShotModel screenShotModel,
                              VideoSourcesViewModel videoSourcesViewModel,
                              IEnumerable <IVideoSourceProvider> videoSourceProviders,
                              IWebCamProvider webCamProvider,
                              VideoWritersViewModel videoWritersViewModel,
                              IPlatformServices platformServices)
        {
            _settings              = settings;
            _recordingModel        = recordingModel;
            _mainModel             = mainModel;
            _screenShotModel       = screenShotModel;
            _videoSourcesViewModel = videoSourcesViewModel;
            _videoSourceProviders  = videoSourceProviders;
            _webCamProvider        = webCamProvider;
            _videoWritersViewModel = videoWritersViewModel;
            _platformServices      = platformServices;

            // Hide on Full Screen Screenshot doesn't work on Console
            settings.Ui.HideOnFullScreenShot = false;
        }
Exemplo n.º 11
0
 void OnEnable()
 {
     if(model == null) model = new ScreenShotModel();
     model.GetActiveCameras();
 }