1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. KingLoL

Beiträge von KingLoL

  • Bild Scannen (Schwarz-Weiß) und alle Koordinaten der schwarzen Pixel in eine .ini schreiben

    • KingLoL
    • 23. Oktober 2011 um 19:32

    hab mir jezz mal alle Infos durchgelesen und langsam versteh ich es ;D danke ich schau mir den rest des abends einfach weiter tuts an und schreibe morgen weiter...

    EDIT: Letzte Frage noch: ich brauch doch nur 1Bit also $GDIP_PXF01INDEXED, weil das Bild doch nur in Schwarz weiß existiert oder?

  • Bild Scannen (Schwarz-Weiß) und alle Koordinaten der schwarzen Pixel in eine .ini schreiben

    • KingLoL
    • 23. Oktober 2011 um 19:27

    aah.. kennst du da ein gutes tutorial? Ich denke ich brauch ein bisschen nachhilfe an dieser stelle

  • Bild Scannen (Schwarz-Weiß) und alle Koordinaten der schwarzen Pixel in eine .ini schreiben

    • KingLoL
    • 23. Oktober 2011 um 19:00

    nein, aber woher soll ich wissen wie die DLL funktionert??

  • Bild Scannen (Schwarz-Weiß) und alle Koordinaten der schwarzen Pixel in eine .ini schreiben

    • KingLoL
    • 23. Oktober 2011 um 18:43

    oben muss man ja ein .jpg bild auswählen und das wird ausgelesen und es sollen alle Koordinaten der schwarzen Pixel aus dem Bild in einer .ini gespeichert werden. Ich raff halt die DLLs nich. Gibts da keinen Befehla ls ersatz O.o

  • Bild Scannen (Schwarz-Weiß) und alle Koordinaten der schwarzen Pixel in eine .ini schreiben

    • KingLoL
    • 23. Oktober 2011 um 18:32

    ok das skript sieht bei mir jezz so aus und läuft nicht :P

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>
    #include <GdiPlus.au3>
    #include <Misc.au3>
    #include <Color.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $file = FileOpenDialog("SnakeLvLEditor", @DesktopDir &"\Eigene Programme\Snake", "Bilder (*.jpg)")
    $iniFile = StringReplace($file, ".jpg", ".ini")

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_Startup()

    [/autoit] [autoit][/autoit] [autoit]

    $hBmp = _GDIPlus_ImageLoadFromFile($file)
    $height = _GDIPlus_ImageGetHeight($hBmp)
    $width = _GDIPlus_ImageGetWidth($hBmp)
    $hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($hBmp) ; erstelle ein Bitmap aus Screenshot zur Verwendung mit GDI+
    $hGraphics = _GDIPlus_ImageGetGraphicsContext($hBitmap) ; erstelle Grafikhandle um auf dem Bitmap zu zeichnen

    [/autoit] [autoit][/autoit] [autoit]

    Local $BitmapData = _GDIPlus_BitmapLockBits($hBitmap, 0, 0, $width, $height, BitOR($GDIP_ILMREAD, $GDIP_ILMWRITE), $GDIP_PXF32RGB)
    Local $Stride = DllStructGetData($BitmapData, "Stride") ; Stride ist der Offset von einer Reihe zur nächsten
    Local $Scan0 = DllStructGetData($BitmapData, "Scan0") ; Die Bilddaten im Speicher
    Local $PixelData
    For $row = 0 To $height - 1 ; Reihe für Reihe
    For $col = 0 To $width - 1 ; Spalte für Spalte
    ; lese Farbinformation des aktuellen Pixels(Spalte,Reihe) aus
    $PixelData = DllStructCreate("dword", $Scan0 + ($row * $Stride) + ($col * 4))
    $Color = DllStructGetData($PixelData, 1)
    If $Color = 0 Then
    IniWrite($iniFile, "Pixel", $row, $col)
    EndIf
    Next
    Next
    _GDIPlus_BitmapUnlockBits($hBitmap, $BitmapData)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_Shutdown()
    MsgBox(0,"","fertig")

    [/autoit]
  • Bild Scannen (Schwarz-Weiß) und alle Koordinaten der schwarzen Pixel in eine .ini schreiben

    • KingLoL
    • 23. Oktober 2011 um 18:21

    boah das is zu hoch für mich mir fehlen dauernd variablen... z.B. $Luma -.- das brauch ihc doch garnich ich will das doch garnichmehr umrechnen in graustufen

  • Bild Scannen (Schwarz-Weiß) und alle Koordinaten der schwarzen Pixel in eine .ini schreiben

    • KingLoL
    • 23. Oktober 2011 um 18:05

    sry, dass ich das noch nich so versteh, ich fang erst seit heute an mit GDI+... ehm ich hab schon ein bild was nur schwarze oder weiße pixel hat gespeichert. wie verarbeite ich das so, dass ichs als die Scan variable nehmen kann?

    EDIT: Geht das nicht auch mit PixelSearch()?

  • Bild Scannen (Schwarz-Weiß) und alle Koordinaten der schwarzen Pixel in eine .ini schreiben

    • KingLoL
    • 23. Oktober 2011 um 17:49

    wi ersetze ich die varbiablen $Scan und $Stride dementsprechend?

  • Bild Scannen (Schwarz-Weiß) und alle Koordinaten der schwarzen Pixel in eine .ini schreiben

    • KingLoL
    • 23. Oktober 2011 um 17:41

    Also das hier?

    Spoiler anzeigen
    [autoit]

    For $row = 0 To $Height - 1 ; Reihe für Reihe
    For $col = 0 To $Width - 1 ; Spalte für Spalte
    ; lese Farbinformation des aktuellen Pixels(Spalte,Reihe) aus
    $PixelData = DllStructCreate("dword", $Scan0 + ($row * $Stride) + ($col * 4))
    $Color = DllStructGetData($PixelData, 1)
    ; berechne Grauwert
    $Luma = _ColorGetRed($Color) * 0.3 + _ColorGetGreen($Color) * 0.59 + _ColorGetBlue($Color) * 0.11
    ; Rot Grün und Blau wert werden jeweils auf den berechneten Grauwert gesetzt
    DllStructSetData($PixelData, 1, BitOR($Luma, BitShift($Luma, -8), BitShift($Luma, -16)))
    Next
    Next

    [/autoit]
  • Bild Scannen (Schwarz-Weiß) und alle Koordinaten der schwarzen Pixel in eine .ini schreiben

    • KingLoL
    • 23. Oktober 2011 um 16:36

    Naja viel zu ergänzen gibts nicht. Steht ja alles im Thema.

  • Problem bei _FTP_ProgressDownload

    • KingLoL
    • 15. September 2011 um 20:38

    habe gemerkt, dass alles super läuft, wenn ich meine funktion nicht aufrufe. Egal welche er aufrufen soll, es klappt einfach nicht.

    EDIT: Ich habe den befehl _FTP_ProgressDownload kopiert und nach meinen wünschen umgestaltet... provisorisch, aber es klappt jetzt

  • Problem bei _FTP_ProgressDownload

    • KingLoL
    • 15. September 2011 um 20:01

    nee.. das mim backslash muss, weil im Array alle Datein so anfangen: /bin/ ... omg thx für den gedanken im FTP sind die shlashes ja andersrum :DD denke das löst mein problem

    EDIT: geht immer noch nicht, mein neuer code:

    [autoit]

    _FTP_ProgressDownload($Connect, @AppDataDir &"\.minecraft\" &StringReplace($FileList[$i], "/", "\"), $FileList[$i], "_MinecraftRepair")

    [/autoit]
  • Problem bei _FTP_ProgressDownload

    • KingLoL
    • 14. September 2011 um 22:33

    Hi, ich hab ein Programm erstellt, was mir minecraft Up- und Downgraded... das Problem dabei liegt bei einem _FTP_ProgressDownload und ich weiss nich was da falsch ist =(. Hab die Stelle markiert

    Spoiler anzeigen
    [autoit]

    #RequireAdmin

    [/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>
    #include <FTPEx.au3>
    #include <File.au3>
    #include <Array.au3>
    #include <ArrayMore.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $Percent, $Combo, $CheckboxRepair, $Open, $Connect, $Versions, $Version, $State, $FileSize, $FileList, $FileCounter
    $Percent = 0

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0, "Minecraft Downgrader by xXKingLoLXx", "WICHTIG!" &@CRLF &"Minecraft muss geschlossen sein, bevor Sie ein Up- und Downgrade ausführen!")

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=C:\Users\Louis\Desktop\Eigene Programme\Minecraft-Downgrader.kxf
    $Main = GUICreate("Minecraft Downgrader by xXKingLoLXx", 498, 377, 292, 138)
    $Screenshot = GUICtrlCreatePic("", 8, 8, 480, 255, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Progress = GUICtrlCreateProgress(8, 272, 481, 25)
    $Homepage = GUICtrlCreateLabel("http://www.island-minecraft.de.tl/", 8, 356, 163, 17)
    GUICtrlSetColor(-1, 0x0000FF)
    $Copyright = GUICtrlCreateLabel("Copyright (c) by Island-Minecraft", 336, 356, 155, 17)
    $State = GUICtrlCreateLabel("Verbinde mit Download-Server...", 8, 308, 400)
    $Combo = GUICtrlCreateCombo("Version wählen...", 8, 328, 105, 25)
    $Start = GUICtrlCreateButton("Start", 384, 328, 105, 25, 0)
    $CheckboxRepair = GUICtrlCreateCheckbox("Minecraft Reparieren", 120, 328, 121, 21)
    GUICtrlSetState($Start, $GUI_DISABLE)
    GUICtrlSetState($Combo, $GUI_DISABLE)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    $Open = _FTP_Open("Island-Minecraft")
    $Connect = _FTP_Connect($Open, "*******", "*******", "*******")

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlSetData($State, "0% - Downloade Top-Screenshot...")
    _FTP_ProgressDownload($Connect, @TempDir &"\Screenshot.bmp", "Screenshot.bmp", "_Screenshot")
    GUICtrlSetImage($Screenshot, @TempDir &"\Screenshot.bmp")

    [/autoit] [autoit][/autoit] [autoit]

    _FTP_DirSetCurrent($Connect,"/minecraft/")
    GUICtrlSetData($State, "Prüfe verfügbare Versionen...")
    $Versions = _Ftp_ListToArray($Connect, 2)
    $ComboList = _ArrayToString($Versions, "|", 1)
    $ComboList = StringReplace($ComboList, "minecraft-", "")
    $ComboList = StringReplace($ComboList, ".jar", "")
    GUICtrlSetData($Combo, $ComboList)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlSetData($State, "Fertig...")
    GUICtrlSetState($Start, $GUI_ENABLE)
    GUICtrlSetState($Combo, $GUI_ENABLE)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    Case $Homepage
    ShellExecute("http://www.island-minecraft.de.tl/")

    Case $Start
    GUICtrlSetState($Start, $GUI_DISABLE)
    GUICtrlSetState($Combo, $GUI_DISABLE)
    $Version = GUICtrlRead($Combo)
    If $Version <> "Version wählen..." Then
    If GUICtrlRead($CheckboxRepair) = $GUI_CHECKED Then
    GUICtrlSetData($State, "Erstelle Filelist...")

    _FTP_DirSetCurrent($Connect,"/bin/")
    $FileList = _Ftp_ListToArray($Connect, 2)
    $FileSize = 0
    For $i = 1 to $FileList[0]
    $FileSize = $FileSize + _FTP_FileGetSize($Connect, "/bin/" &$FileList[$i])
    $FileList[$i] = "bin/" &$FileList[$i]
    Next
    _FTP_DirSetCurrent($Connect, "/bin/natives/")
    $FileListRec = _Ftp_ListToArray($Connect, 2)
    For $i = 1 to $FileListRec[0]
    $FileSize = $FileSize + _FTP_FileGetSize($Connect, "/bin/natives/" &$FileListRec[$i])
    $FileListRec[$i] = "bin/natives/" &$FileListRec[$i]
    Next
    _ArrayConcatenate($FileList, $FileListRec, 1)
    $FileList[0] = $FileList[0] + $FileListRec[0]

    _FTP_DirSetCurrent($Connect, "/")
    GUICtrlSetData($State, "0% - Downloade Datei 1 von " &$FileList[0])
    For $i = 1 To $FileList[0]
    $FileCounter = $i
    _FTP_ProgressDownload($Connect, @AppDataDir &"\.minecraft" &$FileList[$i], $FileList[$i], "_MinecraftRepair") ;Hier muss der Fehler sein!
    Next

    GUICtrlSetData($State, "0% - Downloade Minecraft Version " &$Version)
    _FTP_ProgressDownload($Connect, @AppDataDir &"\.minecraft\bin\minecraft.jar", "minecraft-" &$Version &".jar", "_MinecraftVersion")
    GUICtrlSetData($State, "Fertig...")
    MsgBox(0, "Minecraft Downgrader by xXKingLoLXx", "Minecraft wurde repariert und die gewünschte Version wurde erfolgreich installiert.")
    Else
    GUICtrlSetData($State, "0% - Downloade Minecraft Version " &$Version)
    _FTP_ProgressDownload($Connect, @AppDataDir &"\.minecraft\bin\minecraft.jar", "minecraft-" &$Version &".jar", "_MinecraftVersion")
    GUICtrlSetData($State, "Fertig...")
    MsgBox(0, "Minecraft Downgrader by xXKingLoLXx", "Ihre gewünschte Minecraft Version wurde erfolgreich installiert.")
    EndIf
    Else
    MsgBox(0, "Minecraft Downgrader by xXKingLoLXx", "Bitte wählen Sie eine Minecraft Version.")
    EndIf
    GUICtrlSetState($Start, $GUI_ENABLE)
    GUICtrlSetState($Combo, $GUI_ENABLE)
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _Screenshot($Percent)
    GUICtrlSetData($State, $Percent &"% - Downloade Top-Screenshot...")
    GUICtrlSetData($Progress, $Percent)
    Return 1
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _MinecraftVersion($Percent)
    GUICtrlSetData($State, $Percent &"% - Downloade Minecraft Version " &$Version)
    GUICtrlSetData($Progress, $Percent)
    Return 1
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _MinecraftRepair($Percent)
    $CurrencSize = ($Percent / 100) * _FTP_FileGetSize($Connect, $FileList[$FileCounter])
    $Percent = $CurrencSize / ($FileSize / 100)
    GUICtrlSetData($Progress, $Percent)
    GUICtrlSetData($State, $Percent &"% - Downloade Datei " &$FileCounter " von " &$FileList[0])
    Return 1
    EndFunc

    [/autoit]

    EDIT: Bei mir kommt keine Fehlermeldung oder ein Error! Direkt nach ausführen des markierten downloads schließt sich das Programm "normal", also ohne error code und @error konnte ich deshalb ja auch nich rausfinden...

  • Funktion "Passiv" laufen lassen

    • KingLoL
    • 8. Mai 2011 um 09:49

    nee, iss aber in meinem fall nich so wichtig. Ich muss bloß was aus einer txt datei auslesen und zurückgeben...
    also das mit der DLL iss eigentlich optimal

  • Funktion "Passiv" laufen lassen

    • KingLoL
    • 7. Mai 2011 um 16:52

    ok thx ich schreib mir meine DLLs mit Visual C++ und ja, ich kann das ;D

  • Funktion "Passiv" laufen lassen

    • KingLoL
    • 6. Mai 2011 um 16:16

    Hi, kann man eine Funktion passiv laufen lassen, also einen Befehl ausführen und das Skript trotzdem weiterlaufen lassen.

  • Chat.au3 - Easy Chat making .au3 with example

    • KingLoL
    • 6. Mai 2011 um 15:42
    Zitat von DFPWare

    Absender lädt Bild hoch, empfänger guckt ob nen neues Bild auf dem Server ist, wenn ja, dann lädt er das runter.

    DFPWare


    aber wenn mehr als einer im chat ist? Das iss ja eigentlich das schwierige...

  • Chat.au3 - Easy Chat making .au3 with example

    • KingLoL
    • 26. April 2011 um 23:16

    schwierig, da man sich nicht direkt mit dem anderen Computer verbinden kann oder?

  • Ping

    • KingLoL
    • 19. April 2011 um 11:07

    Hey Leute... der Fehler von mir war echtn bissle dumm:

    Spoiler anzeigen
    [autoit]

    $ping = Ping("www.google.de",250)
    If $ping Then
    _UpdateCheck()
    Else
    Msgbox(0,"Status","Es können keine Updates durchgeführt werden!")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Func _UpdateCheck()
    MsgBox(0,"","fisch")
    EndFunc

    [/autoit]

    dachte es geht auch OHNE timeout, weil er dann 4sec zulässt, aber dann hat sich mien Script aufgehangen...

    also jetzt gehts ;D

  • Ping

    • KingLoL
    • 18. April 2011 um 21:59

    Hi... ich habe brauche grade ein Teilskript, dass mir die INternetverbindung prüft... aber irgendwie funktioniert Ping bei mir nicht.

    1. Ich habe Ping auf google gemacht.
    2. Ich bekomme einen fehler ABER @error bleibt 0!!
    -Zur Auswahl bei @error bei Ping steht aber nur 1-4 zur Auswahl
    3. DASSELBE bei keiner Internetverbindung

    Frage: Wie kann ich jetzt meine Internetverbindung testen?

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™