zarządzanie pikselami

zarządzanie pikselami
  • Rejestracja: dni
  • Ostatnio: dni
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.

quetzalcoatl
  • Rejestracja: dni
  • Ostatnio: dni
0

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

  • Rejestracja: dni
  • Ostatnio: dni
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.

SA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 513
0

Zacznij od

Kopiuj
#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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.