Jump to content

Search the Community

Showing results for tags 'Screen capture to AVI capture'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Announcements and Site News
    • Administration
  • AutoIt v3
    • AutoIt Help and Support
    • AutoIt Technical Discussion
    • AutoIt Example Scripts
  • Scripting and Development
    • Developer General Discussion
    • Language Specific Discussion
  • IT Administration
    • Operating System Deployment
    • Windows Client
    • Windows Server
    • Office

Categories

  • AutoIt Team
    • Beta
    • MVP
  • AutoIt
    • Automation
    • Databases and web connections
    • Data compression
    • Encryption and hash
    • Games
    • GUI Additions
    • Hardware
    • Information gathering
    • Internet protocol suite
    • Maths
    • Media
    • PDF
    • Security
    • Social Media and other Website API
    • Windows
  • Scripting and Development
  • IT Administration
    • Operating System Deployment
    • Windows Client
    • Windows Server
    • Office

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Member Title


Location


WWW


Interests

Found 1 result

  1. I do a LOT of tutorials where I take many screen shots. So I thought it would be cool to have a program that captures the full screen and a tight shot around the mouse every time I click a button. This has allowed me to vastly speed up the tutorial creation process without having to remember to take a picture. So I made this to capture still images; ;Area Capture by Jabhacksoul (2011) ;A simple screen capture program #include <ScreenCapture.au3> #Include <Constants.au3> Global $hUser32 = DllOpen ("User32.dll") If Not FileExists (@MyDocumentsDir & '\Areashots\') Then DirCreate (@MyDocumentsDir & '\Areashots\') MsgBox (1,'Area Capture','Images will be saved to the My Documents\Areashots folder. Use Esc button to exit this program.') HotKeySet ("{ESC}","terminate") Opt("TrayMenuMode",1) TraySetState () TraySetTooltip ("Area Capture") $radio1 = TrayCreateItem("Only Full Screen", -1, -1, 1) $radio2 = TrayCreateItem("Only Tight Shot", -1, -1, 1) $radio3 = TrayCreateItem("Capture Both", -1, -1, 1) TrayItemSetState(-1, 1) $radio7 = TrayCreateItem("Sequence", -1, -1, 1) $FullCap = True $TightCap = True TrayCreateItem("") ; Radio menuitem groups can be separated by a separator line or another norma menuitem $radio4 = TrayCreateItem("Small 240x180", -1, -1, 1) $radio5 = TrayCreateItem("Medium 480x360", -1, -1, 1) TrayItemSetState(-1, 1) $radio6 = TrayCreateItem("Large 640x480", -1, -1, 1) TrayCreateItem("") $Pause = TrayCreateItem("Pause") TrayCreateItem("") $Exit = TrayCreateItem("Exit") TraySetState() $Ax = 240 $Ay = 180 $Bx = 480 $By = 360 $Capture = True $Sequence = True While 1 $msg = TrayGetMsg() Select Case $msg = $radio1 TrayItemSetState ($radio1, 1) $FullCap = True $TightCap = False $Sequence = False Case $msg = $radio2 TrayItemSetState ($radio2, 1) $FullCap = False $TightCap = True $Sequence = False Case $msg = $radio3 TrayItemSetState ($radio3, 1) $FullCap = True $TightCap = True $Sequence = False Case $msg = $radio4 TrayItemSetState ($radio4, 1) $FullCap = True $TightCap = True $Sequence = True Case $msg = $radio4 $Ax = 120 $Ay = 90 $Bx = 240 $By = 180 TrayItemSetState ($radio4, 1) Case $msg = $radio5 $Ax = 240 $Ay = 180 $Bx = 480 $By = 360 TrayItemSetState ($radio5, 1) Case $msg = $radio6 $Ax = 320 $Ay = 240 $Bx = 640 $By = 480 TrayItemSetState ($radio6, 1) Case $msg = $Pause $Capture = Not $Capture If $Capture Then TrayItemSetState ($Pause, 4) Else TrayItemSetState ($Pause, 1) EndIf Case $msg = $Exit terminate () EndSelect If Key_Pressed ("Left") or Key_Pressed ("Right") or $Sequence Then If $Capture Then _ScreenCapture_SetJPGQuality(80) Capture () EndIf EndIf ;Flow control to prevent frames from capturing too fast. If $Sequence Then Sleep (200) EndIf Sleep (50) WEnd Func Capture () $i = @MSEC If StringLen ($i) = 2 Then $i = "0" & $i EndIf $i = @MON & @MDAY & @HOUR & @MIN & @SEC & $i If $FullCap = True Then _ScreenCapture_Capture(@MyDocumentsDir & '\Areashots\fullshot' & $i & '.jpg') EndIf $pos = MouseGetPos() $x1 = $pos[0] - $Ax $y1 = $pos[1] - $Ay If $x1 < 0 Then $x1 = 0 $x2 = $Bx Else $x2 = $x1 + $Bx EndIf If $y1 < 0 Then $y1 = 0 $y2 = $By Else $y2 = $y1 + $By EndIf If $TightCap = True Then _ScreenCapture_Capture(@MyDocumentsDir & '\Areashots\tightshot' & $i & '.jpg',$x1,$y1,$x2,$y2,False) EndIf EndFunc Func Key_Pressed ($key) Switch StringLower ($key) Case "Left" $iHex = "01" Case "Right" $iHex = "02" Case "middle" $iHex = "04" Case "ctrl" $iHex = "11" Case "print" $iHex = "2C" Case Else Return -1 EndSwitch $aIsPressed = DllCall($hUser32, "int", "GetAsyncKeyState", "int", "0x" & $iHex) If @Error Or (BitAND ($aIsPressed[0], 0x8000) <> 0x8000) Then Return 0 Return 1 EndFunc Func terminate () MsgBox (1,'Area Capture','The program will now exit.') Exit EndFunc It works pretty good for me and my uses, but now I was looking at expanding on this. I would like to take the frame I capture and record directly to avi is this possible? I am not looking at FPS just yet. But anywhere in 1 to 4 FPS is going to be fast enough in most cases.
×
×
  • Create New...