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

Color Converter

Ostatnio zmodyfikowano 2017-03-25 12:05
Autor Wiadomość
milmega
Temat założony przez niniejszego użytkownika
» 2017-03-25 10:20:52
Jest lepiej, ale na testach nadal wyskakują mi błędy. Oprócz konwersji muszę jeszcze ustawić wynikowe bity w odpowiednich dla nich miejscach w 16-bitowym słowie.

C/C++
#define RGB16 unsigned short

RGB16 colorConvert( unsigned char r, unsigned char g, unsigned char b )
{
   
    return(( r & ~( 0x07 ) ) << 8 ) |(( g & ~( 0x03 ) ) << 3 ) |( b >> 3 );
}

PASS   find_exponent( 0, 0, 0 ) { return 0; } => 0000000000000000 == 0000000000000000
PASS   find_exponent( 255, 255, 255 ) { return 65535; } => 1111111111111111 == 1111111111111111
FAILED find_exponent( 255, 0, 0 ) { return 63488; } => 1111100000000000 == 0000000000011111
PASS   find_exponent( 0, 255, 0 ) { return 2016; } => 0000011111100000 == 0000011111100000
FAILED find_exponent( 0, 0, 255 ) { return 31; } => 0000000000011111 == 1111100000000000
PASS   find_exponent( 128, 128, 128 ) { return 33808; } => 1000010000010000 == 1000010000010000
FAILED find_exponent( 255, 128, 128 ) { return 64528; } => 1111110000010000 == 1000010000011111
PASS   find_exponent( 128, 255, 128 ) { return 34800; } => 1000011111110000 == 1000011111110000
FAILED find_exponent( 128, 128, 255 ) { return 33823; } => 1000010000011111 == 1111110000010000
FAILED find_exponent( 32, 64, 128 ) { return 8720; } => 0010001000010000 == 1000001000000100
FAILED find_exponent( 64, 32, 128 ) { return 16656; } => 0100000100010000 == 1000000100001000
FAILED find_exponent( 192, 168, 160 ) { return 50516; } => 1100010101010100 == 1010010101011000
P-159368
pekfos
» 2017-03-25 11:45:55
Zamień miejscami składowe r i b w generowanym słowie.
P-159370
milmega
Temat założony przez niniejszego użytkownika
» 2017-03-25 12:05:57
Dzięki bardzo, działa :)
P-159373
1 « 2 »
Poprzednia strona Strona 2 z 2