Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SFML 2.0] Pobranie koloru z pod kursora myszy

Ostatnio zmodyfikowano 2013-08-09 15:20
Autor Wiadomość
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 ?
P-89776
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
P-89777
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 :)
P-89789
MrPoxipol
» 2013-08-09 14:45:32
Tutaj nie wspieramy aplikacji działających na niekorzyść użytkownika końcowego.
P-89795
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:
C/C++
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.

P-89802
« 1 »
  Strona 1 z 1