Hallo,
ich verwende eine Schleife um mehrere Screenshots von verschiedenen Bildbereichen zu erstellen.
Wenn ich ca. 20 Screenshots erstelle, dann werden jedoch nicht alle Screenshots erstellt.
Ich habe schon herausgefunden, dass die Funktion _ScreenCapture_Capture einen Fehler verursacht.
Hier habe ich mal den relevanten Code-Auszug:
Spoiler anzeigen
For $i = 0 To (UBound($arrCsvItems)-1)
[/autoit] [autoit][/autoit] [autoit]; Festlegen der Eckpunkte (sortiert)
If $arrCsvItems[$i][0] > $arrCsvItems[$i][2] Then
$arrItemCoords[0] = $iEdgeX + $arrCsvItems[$i][2]
$arrItemCoords[2] = $iEdgeX + $arrCsvItems[$i][0]
Else
$arrItemCoords[0] = $iEdgeX + $arrCsvItems[$i][0]
$arrItemCoords[2] = $iEdgeX + $arrCsvItems[$i][2]
EndIf
If $arrCsvItems[$i][1] > $arrCsvItems[$i][3] Then
$arrItemCoords[1] = $iEdgeY + $arrCsvItems[$i][3]
$arrItemCoords[3] = $iEdgeY + $arrCsvItems[$i][1]
Else
$arrItemCoords[1] = $iEdgeY + $arrCsvItems[$i][1]
$arrItemCoords[3] = $iEdgeY + $arrCsvItems[$i][3]
EndIf
; Debug
ConsoleWrite($i & " " & $arrItemCoords[0] & ";" & $arrItemCoords[1] & ";" & $arrItemCoords[2] & ";" & $arrItemCoords[3] & @CRLF)
; Screenshot 1
_ScreenCapture_Capture(@ScriptDir & "\tmp\" & StringFormat("%02d", $i) & "_l.tif", _
$arrItemCoords[0], $arrItemCoords[1], $arrItemCoords[2], $arrItemCoords[3], _
False)
If @error Then
MsgBox(0,0,"Fehler bei Screenshot")
ConsoleWrite("fehler "& $i & @CRLF)
SetError(0)
EndIf
; Screenshot 2
_ScreenCapture_Capture(@ScriptDir & "\tmp\" & StringFormat("%02d", $i) & "_r.tif", _
377+$arrItemCoords[0], $arrItemCoords[1], 377+$arrItemCoords[2], $arrItemCoords[3], _
False)
If @error Then
MsgBox(0,0,"Fehler bei Screenshot")
ConsoleWrite("fehler "& $i & @CRLF)
SetError(0)
EndIf
Sleep(50)
Next
Ich habe auch schon versucht die Koordinaten zu sortieren. Dies habe ich getan, damit die Left- und die Top-Koordinate immer kleiner sind, als die Right- und Bottom-Koordinate. Leider hat dies den Fehler auch nicht vermieden.
Ich habe auch schon mal probiert, ob es an dem Dateityp liegt. Sowohl bei Bmp als auch bi Tif treten Fehler auf.
Hier habe ich mal ein paar Ergebnisse aus der Konsole:
Spoiler anzeigen
1 438;271;474;180
fehler 1
fehler 1
2 495;282;559;206
fehler 2
fehler 2
3 497;198;605;141
fehler 3
fehler 3
4 628;239;667;136
fehler 4
fehler 4
5 573;247;619;331
6 546;351;608;404
7 611;350;638;435
8 641;317;666;392
9 585;439;665;509
10 568;533;587;614
11 592;547;630;612
12 645;536;662;613
13 530;423;578;524
14 448;423;515;480
15 419;521;472;601
16 415;567;366;616
fehler 16
fehler 16
17 346;551;302;613
fehler 17
fehler 17
18 414;473;352;531
fehler 18
fehler 18
19 300;372;353;430
20 405;373;362;455
fehler 20
fehler 20
21 340;356;305;223
fehler 21
fehler 21
22 426;237;367;192
fehler 22
fehler 22
23 410;245;350;306
fehler 23
fehler 23
24 422;285;472;380
25 493;342;536;400
26 478;287;558;308
27 485;542;540;609
Alles anzeigen
Habt ihr eine Ahnung, woran es liegen kann, dass nicht immer alle Screenshots erstellt werden?