Pergunta

Alguém sabe uma amostra boa C que carrega bitmaps e alças de todos os casos:? Rle, b / w bitmaps, etc.

Código deve ser multi-plataforma.

Graças.

Foi útil?

Solução

Gostaria de sugerir o uso de uma biblioteca como SDL imagem

Outras dicas

Se você está procurando um carregador bmp mínimo este link vai te dar tudo que você precisa saber sobre o formato BMP, estruturas de dados e código de exemplo, sem qualquer dependência biblioteca para carga:

http://paulbourke.net/dataformats/bmp/ .

Ele também contém código para ver o BMP carregado em uma textura gl aberto, para praticamente tudo que você precisa ...

Chris Backhouse fez um pequeno carregador BMP funcional (com um olho para usá-los como texturas OpenGL). É de C ++, não C, e ele admite que não é multiplataforma. No entanto, é pequeno e fácil de entender, então eu pensei que eu iria adicionar o link aqui:

http://users.ox.ac.uk/~orie1330/bmploader .html

Você precisa de alguma biblioteca externa para fazer isso (eu recomendo ImageMagick ). O web site ImageMagick também inclui documentação e exemplos.

Confira para OpenCV biblioteca desenvolvida pela Intel.

Se você está amarrado ao formato de arquivo BMP, é muito simples de olhar para o cabeçalho-se e obter os pixels. Veja este google search . Um dos jogos mais interessantes é aqui . A parte mais contra-intuitiva é que cada linha de pixels é de 4 bytes alinhados. Além disso, atente para BMPs comprimido ... (A minha experiência é que muitas ferramentas de terceiros têm problemas com BMPs comprimido, então talvez algumas bibliotecas você encontrar também vai ..)

Se você não está amarrado ao formato de arquivo BMP, eu recomendo libpng. A manual do fornece um código de exemplo que é bastante claro .

Como outros sugeriram que você pode querer usar uma biblioteca externa, como SDL. Se você quiser aprender alguma coisa e fazê-lo sozinho, ver a minha resposta a esta pergunta muito semelhante: Obter valores RGB para cada pixel de um bitmap 24bpp para a conversão para o formato GBA em C onde encontrará código C que imprime cada pixel, e ter um olhar para a página da Wikipedia sobre arquivos BMP, porque é muito bom.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top