Exemple #1
0
        private void SetParameters()
        {
            snagVideo.Input = SNAGITLib.snagVideoInput.sviRegion;
            snagVideo.InputRegionOptions.SelectionMethod = snagRegionSelectionMethod.srsmFixed;

            float dpiX, dpiY;

            using (Graphics graphics = Graphics.FromHwnd(IntPtr.Zero))
            {
                dpiX = 96f / graphics.DpiX;
                dpiY = 96f / graphics.DpiY;
            };

            snagVideo.InputRegionOptions.Height = Convert.ToInt16(Screen.PrimaryScreen.WorkingArea.Height * dpiY);
            snagVideo.InputRegionOptions.Width  = Convert.ToInt16(Screen.PrimaryScreen.WorkingArea.Width * dpiX);



            snagVideo.InputRegionOptions.StartX           = 0;
            snagVideo.InputRegionOptions.StartY           = 0;
            snagVideo.InputRegionOptions.UseStartPosition = true;

            snagVideo.UseMagnifierWindow  = false;
            snagVideo.IncludeCursor       = false;
            snagVideo.EnablePreviewWindow = false;
            snagVideo.HideRecordingUI     = true;



            SNAGITLib.MP4FormatClass mp4Format = new SNAGITLib.MP4FormatClass()
            {
                DisableMOOVAtomOptimization = false
            };
            snagVideo.VideoFormat = mp4Format;

            snagVideo.OutputVideoFile.FileNamingMethod    = snagOuputFileNamingMethod.sofnmAuto;
            snagVideo.OutputVideoFile.Directory           = Environment.CurrentDirectory;
            snagVideo.OutputVideoFile.Filename            = "SNAG-CAPTURE";
            snagVideo.OutputVideoFile.AutoFilePrefix      = "SNAG-CAPTURE";
            snagVideo.OutputVideoFile.AutoNumPrefixDigits = 10;
        }
Exemple #2
0
        //Returns false if input validation fails.
        private bool SetInputOptions()
        {
            //Selection Input options
             if ( snagVideo.Input == snagVideoInput.sviRegion && RegionHeight.Visible )
             {
            //Fixed Region
            snagVideo.InputRegionOptions.SelectionMethod = snagRegionSelectionMethod.srsmFixed;
            snagVideo.InputRegionOptions.Height = Convert.ToInt16( RegionHeight.Text );
            snagVideo.InputRegionOptions.Width = Convert.ToInt16( RegionWidth.Text );
            snagVideo.InputRegionOptions.StartX = 0;
            snagVideo.InputRegionOptions.StartY = 0;
            snagVideo.InputRegionOptions.UseStartPosition = UseStartPos.Checked;

            if ( UseStartPos.Checked )
            {
               snagVideo.InputRegionOptions.StartX = Convert.ToInt16( StartXPos.Text );
               snagVideo.InputRegionOptions.StartY = Convert.ToInt16( StartYPos.Text );
            }
             }
             else if ( snagVideo.Input == snagVideoInput.sviWindow && XPos.Visible )
             {
            //Window based on position
            snagVideo.InputWindowOptions.XPos = Convert.ToInt16( XPos.Text );
            snagVideo.InputWindowOptions.YPos = Convert.ToInt16( YPos.Text );
            snagVideo.InputWindowOptions.SelectionMethod = snagWindowSelectionMethod.swsmPoint;
             }
             else if ( snagVideo.Input == snagVideoInput.sviWindow && WinHandle.Visible )
             {
            //Window base on a handle
            Int32 nHwnd = 0;
            try
            {
               nHwnd = Convert.ToInt32( WinHandle.Text );
            }
            catch
            {
               //Must be in hexadecimal...
               try
               {
                  String strHandle = WinHandle.Text.ToLower();
                  if ( strHandle.IndexOf( 'x' ) > 0 )
                  {//Strip off the 0X prefix if it is present
                     strHandle = strHandle.Substring( strHandle.IndexOf( 'x' ) + 1 );
                  }
                  nHwnd = Int32.Parse( strHandle, System.Globalization.NumberStyles.HexNumber );
               }
               catch ( Exception e )
               {
                  String strErr = "Error setting input options.\nException: " + e.Message;
                  MessageBox.Show( strErr, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error );
                  return false;
               }
            }

            snagVideo.InputWindowOptions.Handle = Convert.ToInt32( nHwnd );
            snagVideo.InputWindowOptions.SelectionMethod = snagWindowSelectionMethod.swsmHandle;
             }

             //Misc options
             snagVideo.UseMagnifierWindow = ShowSelectionMagnifier.Checked;
             snagVideo.IncludeCursor = IncludeCursor.Checked;
             snagVideo.EnablePreviewWindow = ChkPreviewWindow.Checked;
             snagVideo.HideRecordingUI = chkBxHideSnagitRecorderUI.Checked;
             if ( AudioDevice.SelectedItem != null )
             {
            snagVideo.AudioDevice = ((AudioDevice)AudioDevice.SelectedItem).AudioId;
             }

             //Perform Moov atom optimization on the MP4 file?
             //Note: The optimization is done by default and you do not even need
             //      to specify the format unless you want to disable the option.
             SNAGITLib.MP4FormatClass mp4Format = new SNAGITLib.MP4FormatClass();
             mp4Format.DisableMOOVAtomOptimization = DisableMoovOptimization.Checked;
             snagVideo.VideoFormat = mp4Format;

             return true; //succeeded
        }