Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[?][C++] GetDIBits zwraca BGR, a nie RGB


Heniut

Rekomendowane odpowiedzi

Opublikowano

Jak wymusić zwrócenie RGB, a nie BGR, albo jak z prędkością błyskawicy (mniej niż 0.01s) przerobić BITMAP'e składającą się z 6220800 elementów?

/ GA-970A-UD3 / FX-6300 / Sapphire Xtreme 5830 / OCZ ZS 550W / Brutus M23 /

| MPC Coders Team | MPC Gold Member | C#, C++, PHP, (N)ASM, AutoIT, Python, Java |

Opublikowano

Lubie, a czy to przerabianie na RGB?

/ GA-970A-UD3 / FX-6300 / Sapphire Xtreme 5830 / OCZ ZS 550W / Brutus M23 /

| MPC Coders Team | MPC Gold Member | C#, C++, PHP, (N)ASM, AutoIT, Python, Java |

Opublikowano

1. Musisz użyć funkcji zwracającej RGB a nie BGR. Lub przerobić ręcznie, to tylko zmiana 2 bajtów.

 

2. Pobrać jej elementy do tablicy, przerobić tablicę, zupdate'ować bitmapę.

GetDIBits, SetDIBits

Inną rzeczą jest problem z tzw. flicker'ingiem w WinApi. Wtedy tworzysz "dummy DC" na którym pracujesz, a następnie kopiujesz (BitBlt)

 

Ze względu na dostarczone przez ciebie informacje jest to najlepsza odpowiedź jakiej jestem w stanie udzielić.

 

 

PS

Nie zakładaj kilku tematów z takimi pytaniami... Lepiej jeden, ogólniejszy.

Ta sygnatura jest pusta.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...