/// <summary>
        ///
        /// </summary>
        /// <param name="targetScreenBoundsSize">타겟이 되는 스크린 사이즈(Bounds)</param>
        public MultiScreen(Size targetScreenBoundsSize)
        {
            if (Screen.AllScreens.Length == 1)
            {
                throw new InvalidOperationException("Screen.AllScreens.Length==1");
            }

            if (!ScreenUtility.EqualsScreenBoundsSize(targetScreenBoundsSize))
            {
                throw new ArgumentException(nameof(targetScreenBoundsSize));
            }

            TargetScreenBoundsSize = targetScreenBoundsSize;
            TargetScreenIndex      = InvalidScreenIndex;
        }
        public ImageCapture(Size targetScreenBoundsSize, int interval = 500)
        {
            if (!ScreenUtility.EqualsScreenBoundsSize(targetScreenBoundsSize))
            {
                throw new ArgumentException(nameof(targetScreenBoundsSize));
            }

            if (!(interval >= 500 && interval <= 3000))
            {
                throw new ArgumentException(nameof(interval) + " 값 범위는 500-3000 입니다.");
            }

            TargetScreenBoundsSize = targetScreenBoundsSize;
            TargetScreen           = new MultiScreen(TargetScreenBoundsSize).TargetScreen;
            if (TargetScreen == null)
            {
                throw new InvalidOperationException("TargetScreen 이 null 입니다.");
            }

            TargetScreenIndex = InvalidScreenIndex;
            _interval         = interval;
        }