Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

Dajmy na to że mamy kolor w GM 1212311 i można pozyskać z niego wartości R, G i B.

Ale jak później te wartości złączyć z powrotem tak aby otrzymać ciąg liczb oznaczający początkowy kolor?

Opublikowano
#define c_rgba(r, g, b, a) (((r&0xff)<<24)|((g&0xff)<<16)|((b&0xff)<<8)|((a&0xff)<<0))

Raczej R * 65 536 + G * 256 + B.
Macie szczęście, że chodzi o grafikę 32 bitową - inaczej bym się przyczepił.
  • Administratorzy
Opublikowano
Dzięki wszystkim coś pokombinuje.

 

Nie kombinuj, tylko masz:

 

r = kolor >> 16;

g = (kolor & $FF00) >> 8;

b = kolor & $FF;

 

Jedna z optymalniejszych wersji.

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...