Как записать 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;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.8 из 5
Похожие ответы