Formatos TopO sensor das máquinas fotográficas digitaisUma maneira simples de representar uma fotografia num ficheiro

Uma maneira simples de representar uma fotografia num ficheiro

Consideremos a seguinte "fotografia", onde as linhas pretas foram acrescentadas (não existem na fotografia "original") e cada quadrado colorido representa um só pixel.

(...)

A largura é 3 e a altura é 2; existem pixeis de cor azul, verde, vermelho e castanho.

Suponhamos que os códigos destas tonalidades de cor são (experimente)

Um ficheiro não é mais que uma sequência de "bytes". Vamos "guardar" esta fotografia num ficheiro com o seguinte formato

  1. 2 "bytes" que indicam a largura x da fotografia (3 neste caso)
  2. 2 "bytes" que indicam a altura y da fotografia (2 neste caso)
  3. 3×x×y "bytes" que indicam para cada um dos x×y pixeis, as intensidades das 3 cores R, G e B.

A nossa fotografia, colocada num ficheiro segundo este formato, ficaria (para melhor compreensão os "bytes" foram separados por espaços)

00 03 00 02 09 11 ff 02 ff 05 02 ff 05 ff 10 05 9a 65 01 9a 65 01

Esperamos que o leitor consiga identificar todos os 22 "bytes" do ficheiro, mas aqui vai uma pequena ajuda

00 03 00 02 09 11 ff 02 ff 05 02 ff 05 ff 10 05 9a 65 01 9a 65 01

Nota. Este formato, muito simples, permite registar fotografias com grande definição - muitos pixeis. Vejamos. A maior largura e altura possíveis correspondem ao maior inteiro que é representável em 2 "bytes", que é 65535 (=256×256 -1), pelo que a maior fotografia representável seria quadrada e ocuparia 12884508679 "bytes" (=4+3×(65535×65535)), mais de 10 giga bytes. Uma fotografia de uma máquina digital "gasta" normalmente muito menos memória, algo como um milésimo daquele valor.


Formatos TopO sensor das máquinas fotográficas digitaisUma maneira simples de representar uma fotografia num ficheiro