[SFML 2.0] Pobranie koloru z pod kursora myszy
Ostatnio zmodyfikowano 2013-08-09 15:20
matiasz Temat założony przez niniejszego użytkownika |
[SFML 2.0] Pobranie koloru z pod kursora myszy » 2013-08-09 11:38:02 Witam! Jak pobrać kolor spod kursora myszy który znajduje się po za oknem aplikacji. Metodą getPixel(x,y) raczej się nie da bo próbowałem(pobiera ona tylko kolor z wczytanego obrazka :/). Funkcje getColor() nie określają pozycji. Ktoś ma jakiś pomysł ? Może zmiksować z bibliotekami allegro lub WinApi ? |
|
MrPoxipol |
» 2013-08-09 12:01:11 Hm, spróbuj zapisać treść okna do sf::Image metodą capture() z sf::RenderWindow i następnie tym getPixel(x, y).
PS Nie mieszaj coli z sokiem :P |
|
matiasz Temat założony przez niniejszego użytkownika |
» 2013-08-09 14:38:32 Cóż pomysł byłby dobry gdyby robił zrzut całego ekranu ,a nie tylko okna aplikacji. Chyba ,że jest jakaś metoda dzięki której można by było robić cały zrzut ekranu i zapisywać go do jednego pliku(aktualizować go) co jakiś czas. Jeżeli ktoś ma jakiś pomysł niech pisze :) |
|
MrPoxipol |
» 2013-08-09 14:45:32 Tutaj nie wspieramy aplikacji działających na niekorzyść użytkownika końcowego. |
|
matiasz Temat założony przez niniejszego użytkownika |
» 2013-08-09 15:20:09 Jednak poszłem inną drogą tak jak kazałeś nie robić. Pomieszałem SFML z WinApi ,ale za to osiągnąłem dany efekt. Wszystko działa jak należy wrzucam fragment kodu może komuś się przyda: pozycja = sf::Mouse::getPosition(); color = obrazek.getPixel( pozycja.x, pozycja.y ); okno.draw( text ); x = pozycja.x; y = pozycja.y; COLORREF pix = GetPixel( hdc, x, y ); red = GetRValue( pix ); green = GetGValue( pix ); blue = GetBValue( pix ); kolor = sf::Color( red, green, blue );
Może i nie wygląda ,bo robione na szybko ,ale działa. |
|
« 1 » |