Рисунок размером 1024*512...

Тема в разделе "Информатика", создана пользователем voron_07, 29 янв 2010.

  1. voron_07

    voron_07 New Member

    Рисунок размером 1024*512 пикселей сохранили в виде несжатого файла размером 1.5 Мб. Какое количество информации было использовано для кодирования цветапикселя? Каково максимальное число цветов в палитре, соответствующей такой глубине цвета?
     
  2. Hasan

    Hasan New Member

    Задачка простая, недавно здесь подобную решал. Чтобы её решить, нужно знать несколько базовых положений.
     
    1. Для отображения цветовой гаммы, как правило, исользуется 3 цвета(красный, зелёный, синий).
    2. Если для цвета выделено n бит, он может принимать 2^n оттенков. (это чистая математика(комбинаторика)).
    3. Как следствие, макс количество цветов в палитре 2^n*2^n*2^n = 2^(3n)
     
    Теперь можно решать задачу.
     
    Пусть под цвет выделено n бит.
    Так как всего цветов 3, на один пиксел будет 3*n бит, Следовательно, общий объем рисунка будет
    1024 * 512 *( 3*n) = 512 K *(3*n)  = (1.5*n)Mбита (По определению 2^10 = 1024 = 1K) .
     
    Вот, в принципе, и всё!
    Но..... Дальше БОЛЬШИЕ сложности, так как не понятно, что написано в условии, что такое Мб - это мегаБИТ или МегаБАЙТ, поэтому придётся рассматривать 2 случая
    1. МегаБИТ.
    (1.5*n) = 1.5
    n=1, то есть под цвет выделен 1 бит.
    Макс количество цветов в палитре
    2^(3n) = 2^3 = 8.
    Да! всего 8 оттенков.
     
    2. МегаБАЙТ, вспомним, что байт=8бит, получим
    (1.5*n) = 1.5 *8, 
    n=8, то есть под цвет выделен целый байт(8 бит)
    Макс количество цветов в палитре
    2^(3n)= 2^24= 16777216.
     
    Вот и всё.
    Да, в реальности, в настоящее время, как правило, под цвет выделено ОДИН БАЙТ, то есть случай 2 полностью соответствует принятому в настоящее время стандарту де-факто и в пикселе 3 байта.
     
     

Поделиться этой страницей

Наша группа