Hi
Oder ein Silvester-Countdown!
Hi
Oder ein Silvester-Countdown!
Viell hilft das:
(keine Ahnung, ob mein damals gepostetes Script noch funktioniert...)
[ offen ] Timeserver Zeit und Datum abfragen ?
lgE
Hi
eigentlich war mir die Spielfunktion relativ egal.
um mich mal selber zu zitieren:
Natürlich ist da nichts perfekt, ich wollte eigentlich nur etwas mit Parabelflugbahnen experimentieren.
Und bei der Gelegenheit gleich mal etwas in GDI+ reinschnuppern...
Meine Spiele entstehen fast immer aus Langeweile, oder weil ich was ausprobieren will
(Oda weil Autoit einfach Spaß macht!!!)
3D - Mensch ärgere dich nicht
Kleines Spiel : SNAKE
würd mich aber freuen, wenn jemand meine rudimentären Scripte zu einem "vollwertigen" Spiel erweitert
Hi
Hast du auch den richtigen Input gewählt?
Wie klingt eine ähnliche Aufnahme vom gleichen Input! mit einer anderen Aufnahmesoftware?
lgE
Hallo, liebe AutoIt Kollegen.
Das hier ist das Projekt, an dem ich in letzer Zeit am häufigsten gearbeitet hab.
Ein Audiorecorder mit automatischer Aufnahmelautstärkenregelung (AGC = automatic gain control)
und Schedule für automatische Aufnahmen.
Aufnahmeformate sind Wav, Mp3 und Ogg. Wobei auch jeder beliebige Cmdline-Encoder verwendet werden kann, welcher via Stdin gefüttert wird...
Bitte Bugs und Verbesserungsvorschläge posten!
und bitte auch Feedback, ob die Software einigermaßen selbsterklärend ist...
Unter XP/Vista/Win7Beta läuft das Prog bei mir ohne Probleme...
Bei meinem Win2k-Rechner erkennt es leider nur 1 Input der Soundkarte... Hat jemand Win2k und kann das bestätigen?!?
Download:
http://rapidshare.com/files/176617327/Recorder.zip
lgE
Hi
Der String in Zeile 12 enthält die Zeichen, welche nach der Reihe eingesammelt werden müssen:
Global $sCatch = "123456789"
Kann man jetzt erweitern, wie man will - allerdings wird immer nur 1 Zeichen angezeigt, somit geht 10,11,12 usw. nicht!
Leerzeichen werden übersprungen, also kann man auch ganze Sätze verwenden:
Global $sCatch = "HEUTE IST EIN SCHÖNER TAG"
lgE
Hi
Um die WinGetClassList - Liste verwenden zu können, muß man diese noch durchnumerieren.
(Wenn man 2 Button hat, dann soll der erste Button1 und der zweite Button2 heißen...usw...)
Dazu gibt es eine gute Funktion von ProgAndy, hab ich aber grad nicht gefunden und deshalb was eigenes geschrieben:
$hPid=Run("Sndrec32.exe")
WinWait("[CLASS:SoundRec]", "", 5)
If @error Then Exit
$hWnd=WinGetHandle("[CLASS:SoundRec]")
$sCList=WinGetClassList($hWnd)
$aCtrl=_EnumCtrl($sCList)
For $i=1 To $aCtrl[0]
ControlHide($hWnd,"",$aCtrl[$i])
Next
Func _EnumCtrl($sList)
Local $aList=StringSplit($sList,@CRLF)
Local $iCnt, $aRet[1]=[0]
For $i=1 To $aList[0]
$iCnt=1
If $aList[$i]="" Then ContinueLoop
$aRet[0]+=1
ReDim $aRet[$aRet[0]+1]
$aRet[$aRet[0]]=$aList[$i] & $iCnt
For $j=$i+1 To $aList[0]
If $aList[$i]<>$aList[$j] Then
ContinueLoop
Else
$iCnt+=1
$aRet[0]+=1
ReDim $aRet[$aRet[0]+1]
$aRet[$aRet[0]]=$aList[$i]&$iCnt
$aList[$j]=""
EndIf
Next
$aList[$i]=""
Next
Return $aRet
EndFunc
lgE
Wie meinst du das? Endlos spielen?
Du kannst ja mal die Zeilen 432 und 433 wie folgt ändern:
[autoit]$iSnakeLen = 999
$iRound = 0
Hi
Schwierigkeit erhöhen:
Zeile 12: Global $sCatch = "ABCDEFGHIJKLMNOPQRSTUVWXYZ Autoit Bla Bla Bla usw"
Zeile 101: Bei Sleep den Wert runtersetzen. (auf z.b. 5)
Zeile 294: $iSnakeLen += 15 ; Um diesen Wert wird die Snake länger, wenn man eine Zahl erwischt. (z.b. 25)
lgE
Das nächste GDI_Plus - Spiel von mir
Gesteuert wird mit den Cursortasten.
Insgesammt 5 Levels mit jeweils 9 Punkten zum einsammeln...
Sowas entsteht, wenn ich Langeweile hab, oder keine Lust an meinen eigentlichen Projekten zu arbeiten;
Und wächst mit der Zeit heran.
Ich denke, es ist "fertig" genug, um gepostet zu werden
Viel Spaß
lgE
Hi
Hier was von CodeProject:
http://www.codeproject.com/KB/system/cpuu…udiAvramov.aspx
Sourcecode dieser Seite im Anhang
http://msdn.microsoft.com/en-us/library/ms724509.aspx
Hoffe, daß das was brauchbares ist...
lgE
Hi
Ja, natürlich...
Ich weiß nur nicht, wie Jpg´s aussehen...
Ich werd nun das Bild einfach als Bmp abspeichern und dann auslesen.
Das geht erheblich leichter als Jpg.
thx
EDIT:
Folgende Funktion ist für meine Zwecke ausreichend, also Problem gelöst
$hFile=FileOpen(@ScriptDir & "\Test.bmp",16)
$sPIC=FileRead($hFile)
FileClose($hFile)
If _CheckBlack($sPIC,10) = True Then
MsgBox(0,"","Bild ist schwarz")
Else
MsgBox(0,"","Bild ist OK")
EndIf
Func _CheckBlack($BMP,$Trs=10,$Steps=10)
$BMP=StringTrimLeft($BMP,110)
Local $Cnt=StringLen($BMP)/6-Mod(StringLen($BMP)/6,6)
$BMP=StringRight($BMP,6 * $Cnt)
Local $R, $G, $B, $BCnt=0, $CCnt=0
For $i=0 To $Cnt-1 Step $Cnt/$Steps
$B=Int("0x" & StringMid($BMP,$i*6+1,2))
$G=Int("0x" & StringMid($BMP,$i*6+3,2))
$R=Int("0x" & StringMid($BMP,$i*6+5,2))
If $B < $Trs And $G < $Trs And $R < $Trs Then
$BCnt+=1
Else
$CCnt+=1
EndIf
Next
If $BCnt>=$CCnt Then
Return True
Else
Return False
EndIf
EndFunc
Hey cool!
Diese Funktion hab ich auch noch irgendwo ... könnte funktionieren!
Danke
Hallo
Ich mache mit dem Webcamscript ausm englischen Forum Snapshots von einer Videocapture-Karte.
Das Preview-Bild wird im GUI angezeigt und dann als JPG abgespeichert.
Falls nun kein Videosignal anliegt, ist das Bild schwarz und das will ich erkennen.
Momentan löse ich das mit PixelGetColor, jedoch versagt diese Methode, wenn das GUI minimiert ist
Zweite Möglichkeit wäre die Dateigröße abzufragen, denn schwarze Jpg´s sind in der Regel kleiner als bunte...
Fallen euch noch weitere/bessere Möglichkeiten ein?
thx
Eukalyptus
Naja, wenn man das Script von einem anderen Verzeichnis aus startet (z.b. mit Ausführen), dann ist das Arbeitsverzeichnis anders als das Scriptverzeichnis. Folglich wird die .lnk im falschen Verzeichnis gesucht...
ShellExecute(@ScriptDir & "\WordPad.lnk") = Scriptverzeichnis
ShellExecute("\WordPad.lnk") = Arbeitsverzeichnis
lgE
Hi
Ich denke, daß es so gehen sollte:
[autoit]ShellExecute(@ScriptDir & "\WordPad.lnk")
[/autoit]lgE
hi
Nicht getestet!
[autoit]$hGui=GUICreate("GDI+",3000,3000)
$hWnd = WinGetHandle("GDI+")
GUISetState(@SW_HIDE)
$hGraphic = _GDIPlus_GraphicsCreateFromHWND ($hWnd)
[/autoit]Siehe am besten bei Panoramabild-Thread
lgE
Hi
Also wenn du die Bilder nur aneinanderreihen willst, dann geht das auch mit GDI+:
[autoit]#include <GDIPlus.au3>
[/autoit][autoit][/autoit][autoit]_GDIPlus_Startup()
[/autoit][autoit][/autoit][autoit]$hSource1=_GDIPlus_ImageLoadFromFile (@WindowsDir & "\web\wallpaper\Tulpen.jpg")
$hSource2=_GDIPlus_ImageLoadFromFile (@WindowsDir & "\web\wallpaper\Mondkrater.jpg")
$iX1=_GDIPlus_ImageGetWidth ($hSource1)
$iY1=_GDIPlus_ImageGetHeight ($hSource1)
$iX2=_GDIPlus_ImageGetWidth ($hSource2)
$iY2=_GDIPlus_ImageGetHeight ($hSource2)
If $iY1>$iY2 Then $iY2=$iY1
[/autoit][autoit][/autoit][autoit]$hGui=GUICreate("GDI+",$iX1+$iX2,$iY2)
$hWnd = WinGetHandle("GDI+")
GUISetState(@SW_HIDE)
$hGraphic = _GDIPlus_GraphicsCreateFromHWND ($hWnd)
$hDestination=_GDIPlus_BitmapCreateFromGraphics ($iX1+$iX2,$iY2,$hGraphic)
$hGraphic1 = _GDIPlus_ImageGetGraphicsContext ($hDestination)
_GDIPlus_GraphicsDrawImage ($hGraphic1, $hSource1, 0, 0)
_GDIPlus_GraphicsDrawImage ($hGraphic1, $hSource2, $iX1, 0)
_GDIPlus_ImageSaveToFile ($hDestination,@ScriptDir & "\Test.jpg")
[/autoit][autoit][/autoit][autoit]_GDIPlus_ShutDown ()
[/autoit]lgE
Hallo
Wenn ich ein USB-Gerät "auswerfe", dann ziehe ich normalerweise den Stecker raus und stecke ihn wieder an, damit das Gerät wieder aktiviert wird...
Geht das auch ohne aus/einstecken? Also nur per Befehl auswerfen und dann wieder aktivieren?
Geht das mit Autoit?
thx
E