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. Rodny_le_lude

Beiträge von Rodny_le_lude

  • swap_image_color

    • Rodny_le_lude
    • 12. Dezember 2011 um 09:47

    Hi Leute ich bräuchte mal wieder eure Hilfe, es geht mir darum in einem Bitmapobject einen gewissen Farbcode durch einen
    anderen zu ersetzen. Dazu habe ich schon eine Funktion geschrieben doch die ist mir viel zu langsam grade bei grossen Bildern.

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <Gdip.au3>
    #include <array.au3>

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

    _GDIPlus_Startup()
    $file = FileOpenDialog("Image select", @ScriptDir, "Images (*.jpg;*.bmp;*.png)", 1 + 2)
    If @error Then Exit

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

    $hBitmap = _swap_image_color($file,"0xFFFFFFFF","0xFFFEFFFF")

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

    Func _swap_image_color($path,$searchcolor="0xFFFFFFFF",$swapcolor="0x00000000")
    Local $hBitmap = _GDIPlus_BitmapCreateFromFile($path)
    Local $width = _GDIPlus_ImageGetWidth($hBitmap)
    Local $height = _GDIPlus_ImageGetHeight($hBitmap)
    Local $d = $width*$height
    Local $xi=0,$yi=0
    Local $test = 0
    For $i=0 To $d
    $hc = _GDIPlus_BitmapGetPixel($hBitmap,$xi, $yi)
    If "0x"&Hex($hc) = $searchcolor Then
    _GDIPlus_BitmapSetPixel($hBitmap, $xi, $yi, $swapcolor)
    $test+=1
    EndIf

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

    $xi += 1
    If $xi = $width Then
    $hc = _GDIPlus_BitmapGetPixel($hBitmap,$xi, $yi)
    If "0x"&Hex($hc) = $searchcolor Then
    _GDIPlus_BitmapSetPixel($hBitmap, $xi, $yi, $swapcolor)
    $test+=1
    EndIf
    $xi=0
    $yi+=1
    EndIf
    Next
    MsgBox(0,"",$test & @CRLF & $d & @CRLF & $yi & @CRLF & $xi)
    Return $hBitmap
    EndFunc

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

    _GDIPlus_ImageSaveToFile($hBitmap,@ScriptDir&"\Test.png")
    _GDIPlus_Shutdown()

    [/autoit]

    meine Frage gibts eine schnellere Variante ??

    Dateien

    GDIP.au3 829,27 kB – 326 Downloads GDIPConstants.au3 83,26 kB – 312 Downloads
  • Wie sieht euer Desktop aus?

    • Rodny_le_lude
    • 16. Juli 2011 um 20:04

    Naja ich bin ehr der einfache Typ

    [Blockierte Grafik: http://img193.imageshack.us/img193/3349/unbenanntwlm.jpg]

  • PFT Player (PlayFromTray)

    • Rodny_le_lude
    • 1. Juli 2011 um 23:31
    Zitat von General Kaboom

    Wurde dem anschein nach aber nicht mit AutoIt geschrieben...mehr sag ich nicht dazu, also denkt nicht mal dran mich zu fragen wieso :P


    Ähm doch wurde 100% mit Autoit geschrieben ;)
    oder ist das eine andere Art an den Sourcecode zu kommen ?! :D

    Es wird später noch eine Total überarbeitete Version geben, wie gewohnt Lets Rock and Roll im Traymenu.
    Stichwort: Tags, Albumcover, Aufnahme ,Design Oberfläche
    Dan werde ich mich auch "vielleicht" herablassen den Sourcecode der v1.2 herauszugeben.

  • Registry-Änderungen einsehen

    • Rodny_le_lude
    • 25. Juni 2011 um 12:30
    Zitat von $var

    Guten Abend,
    ist es möglich alle Registry-Einträge einzusehen, auf die derzeit zugegriffen wird,
    bzw welche, die gerade von anderen Porgrammen verändert werden?

    MfG


    Zitat


    auf die derzeit zugegriffen wird


    Es ist so gut wie nicht möglich da die meisten , fast alle Reg Einträge nur als Konfiguration Inhalt für Programme herhalten.

    Zitat


    bzw welche, die gerade von anderen Porgrammen verändert werden?


    Sowas sollte kein Problem darstellen, aber nicht in Echtzeit. Du brauchst halt immer einen Orginalen Abdruck der registry u. kannst
    diese dan mit der neusten Datenbank vergleichen und schauen was sich verändert hat.

  • FileFindFirstFile - schnellere Alternative?

    • Rodny_le_lude
    • 9. Mai 2011 um 10:07
    Zitat

    Ach ja: es geht um 148GB Daten

    OMG das sind ca 20~30SEK mit meiner Function die ich dir oben gepostet habe, bricht davon die Welt zusammen.
    Also ungefähr 1 Minute um zu ermitteln ob Daten Ausgeglichen werden müssen zwischen zwei instanzen, danach beginnt der Download bzw Upload.
    Is doch Esay. :P

    EDIT:
    sind es immer gleiche DatenStrukturen also Dateien mit gleichem Namen die du Austauschen willst\musst??

  • FileFindFirstFile - schnellere Alternative?

    • Rodny_le_lude
    • 9. Mai 2011 um 09:56

    veronesi
    wenn dein Programm kompackt ist macht es praktisch 0% Gechwindigkeitsvorteil.

  • FileFindFirstFile - schnellere Alternative?

    • Rodny_le_lude
    • 9. Mai 2011 um 09:43

    Du bist dir aber im klaren das AS eine Scriptsprache ist u. das es nicht möglich ist Daten schneller auszulesen als es die
    Spezifikation der HardDrive zulässt. Oder verstehe ich dich komplett Falsch.
    Oder brauchst du eine optimierte Synchronisation der einzelnen Datenbestände\Auflistungen (Echtzeit) mit verzögerung :D

    wir sprechen hier natürlich von petabyte

  • FileFindFirstFile - schnellere Alternative?

    • Rodny_le_lude
    • 9. Mai 2011 um 09:17

    Ganz ehrlich
    was willst du mit sowas, jemanden Auspionieren wat er auf der Platte hat ?

    schneller gehts nicht ausser auf SSD.

    Spoiler anzeigen
    [autoit]

    #include-once
    #include <array.au3>

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

    func drive_search_folder($pf)
    If StringRight($pf,1) <> "\" Then $pf=$pf&"\"
    local $serach_array[1],$x=1

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

    $serach_array[0]=UBound($serach_array)
    _ArrayAdd($serach_array,$pf)
    $first=FileFindFirstFile($pf&"*.")
    If $first = -1 Then
    $while=0
    Else
    $while = 1
    EndIf

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

    While $while
    $next=FileFindNextFile($first)
    If not @error Then
    $serach_array[0]=UBound($serach_array)
    _ArrayAdd($serach_array,$serach_array[$x]&$next&"\")
    Else
    $x=$x+1
    If $x > $serach_array[0] Then ExitLoop
    FileClose($first)
    $first=FileFindFirstFile($serach_array[$x]&"*.")
    If $first= -1 Then ContinueLoop
    EndIf
    WEnd
    FileClose($first)
    _ArraySort($serach_array, 0, 1, 0, 0)
    Return $serach_array
    EndFunc
    ;---------------------------------------------------
    Func drive_search_file($pf,$type)
    Local $file_output[1],$x=0
    $file_output[0]=0
    $folder=drive_search_folder($pf)

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

    While 1
    $x=$x+1
    If $x > $folder[0] Then ExitLoop
    $first=FileFindFirstFile($folder[$x]&$type)
    If $first = -1 Then ContinueLoop

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

    While 1
    $next=FileFindNextFile($first)
    If Not @error then
    $file_output[0]=UBound($file_output)
    _ArrayAdd($file_output,$folder[$x]&$next)
    Else
    FileClose($first)
    ExitLoop
    EndIf
    WEnd

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

    WEnd
    Return $file_output
    EndFunc

    [/autoit]
  • neuer PC

    • Rodny_le_lude
    • 9. Mai 2011 um 08:57

    Hast du noch die 14 Tage Rückgaberecht, wenn ja schick den Müll zum Absender zurück. Dein System ist echt Schrott für das P/L Verhältniss ;)

    den Rotz kann man auch für 120€ bekommen.

  • neuer PC

    • Rodny_le_lude
    • 9. Mai 2011 um 08:30

    Das Teiel ist volle Geldverschwendung
    schlechte CPU
    schlechte ganz schlechte GPU
    Mobo: tja was für eins (keine Beschreibung)
    PSU: tja was für eins (keine Beschreibung) Netzteil mit 300 Watt Chinabölla A :D
    ----
    399€ Fail

    EDIT:
    Falls es wirklich vom Händler sein muss schau mal hier, danach Kaufts du dir noch nen Ordentliches Marken Netzteil und eine Sapphire 5850 Extreme (106€) + Bequit Pure Power 530 W =160+399=559€

    http://www.hoyo.de/product_info.p…Game-11-X6.html

    dieser Händler ist wirklich gut, falls du willst stell ich dir auch ein System zusammen aber mit 399 glocken kommst du nicht weit :party:

  • Abfrage ob Sound/Lautsprecher ein oder ausgeschaltet ist

    • Rodny_le_lude
    • 4. Februar 2011 um 01:35

    Wenn du externe Lautsprecher meinst (die man mit einem klinkenstecker an die Soundkarte anstöpselst) NEIN da kann man nix auslesen .
    Wenn du wissen willst ob der Mixer auf Stumm bzw leise gestellt ist, dann schau dir mal die Bass UDF an klick

  • L4D Mapchanger

    • Rodny_le_lude
    • 2. Februar 2011 um 16:16

    Hab für nen Kumpel nen Mapchanger für Left for Dead gemacht. Vieleicht kanns ja noch jemand gebrauchen :)
    [Blockierte Grafik: http://img593.imageshack.us/img593/3949/unbenanntpb.th.jpg]

    Download compilat plus source

  • NICHT endlos schleife

    • Rodny_le_lude
    • 2. Februar 2011 um 14:40

    kannst dir auch mal den befehl EXITLOOP Anschauen ;)

  • Textdatei zeilenweise auswerten

    • Rodny_le_lude
    • 1. Februar 2011 um 14:54

    hier nochmal was mit einem array

    Spoiler anzeigen
    [autoit]

    #include <file.au3>
    #include <string.au3>
    #include <array.au3>
    Global $alias[1][2]
    $file = "test.txt"
    $count=_FileCountLines($file)

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

    For $i=1 To $count
    $read=FileReadLine($file,$i)
    If $read="" Then ContinueLoop

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

    $split=StringSplit($read," ")

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

    $alias[UBound($alias)-1][0]=$split[1]

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

    $str=_StringBetween($read,"CNAME ",".mydomain.com")

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

    $alias[UBound($alias)-1][1]=$str[0]
    If $i = $count Then ExitLoop
    ReDim $alias[UBound($alias)+1][2]

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

    Next
    _ArrayDisplay($alias)
    MsgBox(0,"",$alias[0][0]&" = "&$alias[0][1])

    [/autoit]
  • Textdatei zeilenweise auswerten

    • Rodny_le_lude
    • 1. Februar 2011 um 14:33

    mm so geht auch

    Spoiler anzeigen
    [autoit]

    #include <file.au3>
    $alias=""
    $file = "test.txt"
    $count=_FileCountLines($file)

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

    For $i=1 To $count
    $read=FileReadLine($file,$i)
    $split=StringSplit($read," ")
    If StringInStr($read,"srv08110") Then $alias&=$split[1]
    Next
    MsgBox(0,"",$alias)

    [/autoit]
  • Textdatei zeilenweise auswerten

    • Rodny_le_lude
    • 1. Februar 2011 um 14:20

    meinst du sowas?

    Spoiler anzeigen
    [autoit]

    #include <file.au3>
    $alias=""
    $file = "test.txt"
    $count=_FileCountLines($file)

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

    For $i=1 To $count
    $read=FileReadLine($file,$i)
    If StringInStr($read,"srv08110") Then $alias&="DBserver"
    Next
    MsgBox(0,"",$alias)

    [/autoit]
  • Probleme mit IF Schleife

    • Rodny_le_lude
    • 17. Januar 2011 um 16:10

    Weiss zwar nicht was du willst, aber könnte das was für dich sein ??

    Spoiler anzeigen
    [autoit]

    While 1
    If ProcessExists("ABC.exe") Or WinActive("ABC") Then send ("{ENTER}")
    HotKeySet("{ESC}","EXIT_script")
    WEnd

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

    Func EXIT_script()
    Exit
    EndFunc

    [/autoit]
  • Jpg zu ico

    • Rodny_le_lude
    • 15. Januar 2011 um 14:12

    man kann die grösse bei icons nur auf 64x64 convertieren, u. Rotation von Bildern scheint auch nicht möglich zu sein.
    Mehr hab ich noch nicht getestet!!!

  • Jpg zu ico

    • Rodny_le_lude
    • 15. Januar 2011 um 13:45

    habs selbst Herrausgefunden.
    Ich hab mir von diser Seite: http://www.daolnwod.com/imgcnvrt-dll--…verter-dll.html
    die ImageConverter.dll gedownloadet und folgende funktion geschrieben.

    Spoiler anzeigen
    [autoit]

    Func _img_converter($input,$output)
    $open=DllOpen("ImageConverter.dll")
    DllCall($open,"int","ConvertImage","wstr",$input,"wstr",$output,"int",0,"int",0,"int",0,"int",0,"int",0,"int",0)
    DllClose($open)
    EndFunc

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

    _img_converter(@ScriptDir&"\Albumart.jpg",@ScriptDir&"\test.ico")

    [/autoit]

    Funktioniert einmanfrei :D

    INPUT

    Spoiler anzeigen

    Bitmaps: BMP,DIB,RLE
    CompuServe GIF: GIF
    JPEGs: JPG,JPEG,JPE,JFIF,JIF
    JPEG2000: JP2
    Photodhop: PSD
    Portable Bitmaps: PBM,PGM,PPM,PXM
    Portable Network Graphics: PNG
    Targa: TGA,VDA,ICB,VST
    TIFFs: TIF,TIFF,FAX,G3N,G3F
    Windows Cursor: CUR
    Windows Enhanced Metafile: EMF
    Windows Icon: ICO
    Windows Metafile: WMF
    Wireless Bitmap: WBMP
    ZSoft Paintbrush: PCX,DCX

    Output

    Spoiler anzeigen

    Adobe Acrobat: PDF
    Bitmaps: BMP
    CompuServe GIF: GIF
    JPEGs: JPG, JPEG
    JPEG2000: JP2
    Portable Bitmaps: PXM
    Portable Network Graphics: PNG
    Targa: TGA
    TIFFs: TIF, TIFF
    Windows Icon: ICO
    Wireless Bitmap: WBMP
    ZSoft Paintbrush: PCX,DCX

  • Jpg zu ico

    • Rodny_le_lude
    • 15. Januar 2011 um 12:47

    Hi Leute ich brauch mal wieder eure Hilfe, undzwar suche ich eine function die mir jpg files in ico files convertiert.
    Hab schon n bissel rumprobiert mit GDIPLUS aber es will nicht so wie ich es will??

    Spoiler anzeigen
    [autoit]

    #Include <GUIConstantsEx.au3>
    #include <GDIPLUS.au3>

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

    Global Const $sJpg = @ScriptDir&"\Test.jpg",$output = @ScriptDir&"\test.ico"
    If Not FileExists($sJpg) Then Exit

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

    GUICreate('Example1', 204, 108)
    $Icon1 = GUICtrlCreateIcon("", 0, 30, 38, 32, 32)
    _GDIPlus_StartUp()
    $hImage = _GDIPlus_ImageLoadFromFile($sJpg)
    $sCLSID = _GDIPlus_EncodersGetCLSID("ICO")
    _GDIPlus_ImageSaveToFile($hImage,$output)
    _GDIPlus_ShutDown()
    GUICtrlSetImage($Icon1,$output)

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

    GUISetState()

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

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

    GUIDelete()

    [/autoit]

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™