Pixelsetcolor

  • Ich wollte mal fragen, ob es sowas wie pixelsetcolor gibt?

    Ich habe in der Anleitung geguckt, da war aber mit pixelchecksum pixelgetcolor...


    MFG Sebastian

  • Das hat schon mal wer gemacht, weis leider nict mehr wie der Thread heiß.

    Wenn ich mic noch erinere ging das mit ner Gui bei der er alle ränder entfernt hat und bei der dann die Hintergrundfarbe eingestellt hat. Gui größe halt 1x1 Pixel

    Mfg

    Edit: Srles hat im Thread Mauspunkt genau das verwendet, gucks dir dort einfach an

    Computers are like Airconditioning. They don´t work with open Windows.

  • Pixelchecksum überfrügt lediglich ob sich Pixel verändern oder nicht..
    Du kannst höchstens auf dem Bildschirm "malen" aber eine Funktion wie PixelSetColor gibt es meines Wissens nicht!

  • falls dus nicht gesehen hast hier der link:

    Mauspunkt

    Nicht vergessen den Rang von der Gui zu entfernen!!!

    Ich rate mal für was du das brauchst: Für nen Egoshooter wo du kein Visier bei der Waffe hast und willst einfach den Punkt in dei Mitte vom Bildschirm setzten?

    Mfg

    Computers are like Airconditioning. They don´t work with open Windows.

  • sry hab mich vertippt. Meinte den Rand entfernen, sonst hast immer nur ein kleines Blaues Kästcen mit nem Roten x drinn^^

    Computers are like Airconditioning. They don´t work with open Windows.

  • Eh war10ck meinte glaub ich den Windows-Style $WS_POPUP aber wenn du versuchst über nem richtigen Egoshooter zu malen kann ich dich jetzt schon einmal enttäuschen, da das nicht geht..

  • Round corners? Runde Ecken?? Bei einem GUI, das 1x1 Pixel groß ist? Da gibt es nichts mehr zum abrunden. Es sei denn, du findest eine Möglichkeit, einen (?) Pixel nochmal zu unterteilen.

  • Kla gibts die Funktion:

    [autoit]

    Func SetPixel ($handle, $x, $y, $color)
    $dc= DllCall ("user32.dll", "int", "GetDC", "hwnd", $handle)
    $setpixel= DllCall ("gdi32.dll", "long", "SetPixel", "long", $dc[0], "long", $x, "long", $y, "long", $color)
    $realesedc= DllCall ("user32.dll", "int", "ReleaseDC", "hwnd", 0, "int", $dc[0])
    EndFunc

    [/autoit]
  • Das das mit dlls geht war wieder mal Klar, hab nur keine Ahnung von den DIngern^^

    Computers are like Airconditioning. They don´t work with open Windows.

  • Die Funktion ist zwar sehr cool, aber du kannst damit auch nicht frei auf dem bildschirm die pixel ersetzen... wie gesagt du kannst höchstens sachen übermalen und bei den meißten spielen gehts erst recht nicht.. ;P

  • Was meinste mit frei auf dem Bildschirm die Pixel ersetzen?

    Habs noch net oft aus probiert, aber das hier geht eigentlich fast überall drüber:

    [autoit]

    $handle = ControlGetHandle("paskjh^2g387zaisug2937856", "", 1)
    While 1
    SetPixel($handle, @DesktopWidth/2, @DesktopHeight/2, 0xFF0000)
    For $i=1 To 5
    SetPixel($handle, @DesktopWidth/2+$i, @DesktopHeight/2, 0xFF0000)
    SetPixel($handle, @DesktopWidth/2-$i, @DesktopHeight/2, 0xFF0000)
    Sleep(0.1)
    SetPixel($handle, @DesktopWidth/2, @DesktopHeight/2+$i, 0xFF0000)
    SetPixel($handle, @DesktopWidth/2, @DesktopHeight/2-$i, 0xFF0000)
    Next
    Sleep(10)
    WEnd

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

    Func SetPixel ($handle, $x, $y, $color)
    $dc= DllCall ("user32.dll", "int", "GetDC", "hwnd", $handle)
    $setpixel= DllCall ("gdi32.dll", "long", "SetPixel", "long", $dc[0], "long", $x, "long", $y, "long", $color)
    $realesedc= DllCall ("user32.dll", "int", "ReleaseDC", "hwnd", 0, "int", $dc[0])
    EndFunc

    [/autoit]
  • hmm ich kann mich natürlich auch täuschen aber "übermalt" nicht gdi, die verschiedenen handles statt wirklich pixel zu ersetzen?
    Habs grade mit Counter Strike versucht und da hat gdi und counter strike um die Wette gekämpft wer schneller übermalen kann und Counterstrike hat relativ schnell gewonnen und das war nur im Startbildschirm.. Also im richtigen Spiel -> 0 Chance für Gdi ;P Und so ist das bei den meißten modernen Spielen..

    Aber wenn der Scripter nix mit irgendwelchen Games machen will, ist die Funktion Top ;)

  • also ich benutze meinen mauspunkt (s. signatur) als fadenkreuz bei counterstrike^^
    bei einstellungen einfach die aktualisierungsrate auf 5000 stellen und es wird perfekt funktionieren :)

    allerdings glaub ich nur, wenn cs im fenstermodus ausgeführt wird.