Пример #1
0
        public ImageSaver(IFileNamingTemplate fileNaming, CaptureOptions.ImageContainer container)
        {
            _fileNaming = fileNaming;

            var formatAndExt = CaptureOptions.ToValue(container);

            _format  = formatAndExt.Key;
            _fileExt = formatAndExt.Value;
        }
Пример #2
0
        public VideoSaver(IFileNamingTemplate fileNaming,
                          CaptureOptions.VideoSize frameSize,
                          CaptureOptions.VideoFPS FPS,
                          CaptureOptions.VideoCompression compression)
        {
            KeyValuePair <int, int> size = CaptureOptions.ToValue(frameSize);

            _fileNaming  = fileNaming;
            _frameWidth  = size.Key;
            _frameHeight = size.Value;
            _FPS         = CaptureOptions.ToValue(FPS);
            _compression = compression;

            _buffer = null;
            _dxPlay = null;
        }
Пример #3
0
            public Context(DxRender.DxDeviceContext devices, CaptureSettings settings)
            {
                IFileNamingTemplate fnt = new DateTimeFileNamingTemplate(settings.OutDirectory, settings.NamePrefix);

                KeyValuePair <int, int> iSize = CaptureOptions.ToValue(settings.ImageSize);

                ImageWidth  = iSize.Key;
                ImageHeight = iSize.Value;
                ImageSaver  = new ImageSaver(fnt, settings.ImageContainer);

                KeyValuePair <int, int> vSize = CaptureOptions.ToValue(settings.VideoSize);

                VideoWidth  = vSize.Key;
                VideoHeight = vSize.Value;
                VideoSaver  = new VideoSaver(fnt, settings.VideoSize, settings.VideoFPS, settings.VideoCompression);

                StateProviders = new List <IStateProvider>();
                StateProviders.Add(new DelegateStateProvider <bool>(StateType.IsVideoRecording, IsVideoCapturing));
            }
Пример #4
0
        static private void GenerateItems <T>(IEnumerable <T> items, T selectedItem,
                                              out List <String> names, out int selectedIndex) where T : struct, IComparable
        {
            names = new List <String>();

            selectedIndex = 0;
            int i = 0;

            foreach (T item in items)
            {
                if (item is CaptureOptions.ImageSize)
                {
                    names.Add(CaptureOptions.ToString((CaptureOptions.ImageSize)(Object) item));
                }
                else if (item is CaptureOptions.ImageContainer)
                {
                    names.Add(CaptureOptions.ToString((CaptureOptions.ImageContainer)(Object) item));
                }
                else if (item is CaptureOptions.VideoCompression)
                {
                    names.Add(CaptureOptions.ToString((CaptureOptions.VideoCompression)(Object) item));
                }
                else if (item is CaptureOptions.VideoFPS)
                {
                    names.Add(CaptureOptions.ToString((CaptureOptions.VideoFPS)(Object) item));
                }
                else if (item is CaptureOptions.VideoSize)
                {
                    names.Add(CaptureOptions.ToString((CaptureOptions.VideoSize)(Object) item));
                }
                else
                {
                    throw new ApplicationException("Internal error - unknown enumeration");
                }

                if (item.CompareTo(selectedItem) == 0)
                {
                    selectedIndex = i;
                }
                i += 1;
            }
        }