Как записать RGB цвета в массив? - C (СИ)
Формулировка задачи:
Здравствуйте, вот собственно код, нашел на форуме, выводит цвета нормально, но хочу записать эти цвета в массив, желательно в двоичном виде. Для этого используется формула ByteToBinary, но не работает, выводит мне все время разные числа, подскажите пожалуйста в чем проблема
for( i = 0 ; i < bih_l.biHeight; i++)
{
for ( j = 0; j < bih_l.biWidth; j++)
{
fread(&rgb_l, sizeof(rgb_l),1, f1);
mas = ByteToBinary(rgb_l.rgbtBlue);
printf("Blue : %d\n",rgb_l.rgbtBlue);
printf("Green : %d\n",rgb_l.rgbtGreen);
printf("Red : %d\n",rgb_l.rgbtRed);
printf("\n");
}
int *ByteToBinary (BYTE val)
{ int *mass = new int[8];
int t, i;
for (t = 128, i = 0; t > 0; t /= 2, i++)
{
if ((val & t) != 0) mass[i] = 1;
else if ((val & t) == 0) mass[i] = 0;
}
return mass;
}Решение задачи: «Как записать RGB цвета в массив?»
textual
Листинг программы
cout<<mas<<endl;