Fehlerhafte Ergebnisse mit "PIXElGetColor" mit ATI-Grafikkarten

  • Hi @ All.

    Problem:
    Ich versuche mit PixelGetColor einen vorher definierten Wert auszulesen.

    Scenario:
    Ich habe von einem Fenster einen Screen gemacht, den zu erfassenden Pixel ermittelt und dazu ein Script geschrieben,
    welches einen Ton ausgeben soll, wenn genau dieser Pixel and der zu erwartenden Stelle errscheint.
    Ich habe eine Schleife erstellt um das problem nazuvollziehen. der Wert des Pixels wird bis zu 10 mal ausgelesen und in ein array geschrieben.
    Mit einer Grafikkarte von NVidia funktioniert es recht gut, ca 9 von 10 bis 100% richtige Treffer.
    Führe ich das Script auf einem anderen PC mit ATI-Karte aus, habe ich eine Erfolgsrate von gerae einmal 2-3 von 10.
    Ich habe das Script zum Test in mehreren konfigurationen getestet 16-32Bit verschiedene Pc und Grafikkarten diverser Generationen,
    egal welche NVidia Karte ob MX200 oder GTS8800 es funktioniert, ATI versagt, egal welche Generation.

    Frage:
    Gibt es Parameter oder modifizierte Dateien bzw. Problemlösungen?

    Bin für jede Hilfe dankbar.


    THX!

    PS: Hilfe ergab keinerlei Treffer.

  • Hä?
    soweit ich weiß ist die grafikkarte dazu nicht wichtig??
    liest autoit des nicht direkt aus?
    sorry wenn ich mich täusche, aber ich denk mal dass des so is?

    Padmak

  • Also wie schon erwähnt, wird der Farb-Code (Hexcode nehme ich an) des Pixels z.b. "7564659" MIT EINER NVidia korrekt aus, also mind. 9 von 10 sind Treffer, meißt sogar 10 von 10.

    Mit ATI kommen alle möglichen Codes rasu aber der gewünschte Vergleichswert wird nur sehr selten korrekt erkannt. Auch Chipsatzgrafik erkennt nicht korrekt, einzig NVidia.

    Also Problem besteht noch --> ...so...i need help ^^

  • Ab CCC 8.12 kann man bei ATI 4 verschiedene Farbmodelle auswählen - YCbCr PC/Video Level (0-255/16-236) und RGB PC/Video Level (0-255/16-236). Dadurch ändern sich schon die Helligkeitsbereiche, ich dachte aber eigentlich, dass AutoIT das vorher abfragt?

  • ...und genau aus diesem Grund liest man nicht den "exakten" (?!) Farbwert aus, es gibt ja auch die Möglichkeit "sehr ähnliche" Farben abzufragen. In einem universell auf mehreren Rechnern verwendeten Bot würde ich das jedenfalls so machen :thumbup:

    Zitat

    mit Code evtl. gegen die Forumsregeln...


    Hast du eigentlich eine "CopyThread2X-ratedZone" Funktion als Forenadmin? :thumbup:
    .Andy

  • Ich kenne das Problem auch und verwende daher in solchen Fällen immer

    PixelSearch ( left, top, right, bottom, color [, shade-variation] [, step]] )

    denn hier kann man über die shade-variation eine gewisse Streubreite des Farbwertes definieren,
    damit habe ich meine Trefferquote deutlich erhöht. Gegebenenfalls auch 2 odermehr PixelSearch
    verwenden .......

    peethebee
    und es ist nicht "unwahrscheinlich", ich habe festgestellt, daß sich selbst während der Nutzung eines Programms
    die mit PixelGetColor ausgelesenen Werte verändern können, ein Erklärung habe ich allerdings nicht dafür ...... ?(