zarządzanie pikselami

0

Witam! Ja mam takie pytanie: Jak napisać funkcje wyświetlającą i pobierającą pojedynczy piksel o parametrach -pozycja(x,y) -kolor (r,g,b) -kanał alpha. Efektem działania funkcji ma być piksel wyświetlony na pozycji x,y na pulpicie. Prosze tylko bez winapi bo nie chodzi mi o robienie tysięcy jednopikselowych okien tylko o zarządzanie pikselami na ekranie.

0

zainteresuj sie directx oraz overlayem. ale wierz mi, jesli winapi Cie straszy, to to bedzie jeszcze gorsze ;))

0

winapi mnie nie straszy jednak ja chciałem sie bardziej zagłębić w temat zarządzania urządzeniami wejścia-wyjścia. Chodzi mnie o zarządzanie tym co ekran wyświetla. Jeśli ktoś mi napisze funkcje w winapi która wyświetli piksel bez okna to też będę wdzięczny.

0

Zacznij od

#define hwnd 0 // desktop
HDC dc = GetDC(hwnd);
COLORREF stary_kolor = GetPixel(dc, 10,11); // x=10; y=11
SetPixel(dc, 10,11, RGB(255,255,255)); // zmiana koloru pixela
ReleaseDC(hwnd, dc);
#undef hwnd

Gdybyś jednak planował pracę z większą ilością pixeli to odradzam takie rozwiązanie, jeśli chcesz by program był wydajny. Zaleciłbym stworzenie bitmapy DIB, skopiowanie do niej zawartości desktopu, modyfikację pixeli bezpośrednio w pamięci i ostatecznie skopiowanie bitmapy back na desktop: CreateCompatibleDC, CreateDibSection, SelectObject, BitBlt

1 użytkowników online, w tym zalogowanych: 0, gości: 1