Domanda

Qualcuno sa un campione buona C che carica bitmap e gestisce tutti i casi:? Rle, b / n bitmap, ecc

Codice dovrebbe essere cross-platform.

Grazie.

È stato utile?

Soluzione

Io suggerirei di usare una libreria come immagine SDL

Altri suggerimenti

Se siete alla ricerca di un caricatore bmp minimo questo link vi darà tutto quello che dovete sapere sul formato BMP, strutture dati e codice di esempio, senza alcuna dipendenza libreria per carico:

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

E 'contiene anche il codice per vedere il BMP caricata in una texture gl aperto, in modo più o meno tutto ciò che serve ...

Chris Backhouse ha fatto un po 'BMP pala funzionale (con un occhio al loro utilizzo come texture OpenGL). E 'C ++, non C, e lui ammette che non è cross-platform. Tuttavia, è piccolo e facile da capire, così ho pensato di aggiungere il link qui:

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

Hai bisogno di qualche libreria esterna per fare questo (mi raccomando ImageMagick ). Il sito web ImageMagick include anche la documentazione e gli esempi.

Check out per OpenCV Biblioteca sviluppato da Intel.

Se si sono legati al formato di file BMP, è abbastanza semplice per guardare l'intestazione te stesso e ottenere i pixel. Vedere questa ricerca google . Una delle partite più interessanti è qui . La parte più intuitivo è che ogni linea di pixel è 4 byte allineati. Inoltre, attenzione per compressa BMP ... (La mia esperienza è che molti strumenti di terze parti hanno problemi con compressa BMP, così forse alcune librerie si incontrano sarà anche ..)

Se non sono legati al formato di file BMP, vi consiglio libpng. Il manuale fornisce alcuni esempi di codice che è abbastanza chiaro .

Come altri hanno suggerito che si potrebbe desiderare di utilizzare una libreria esterna come SDL. Se volete imparare qualcosa e fai da te, vedere la mia risposta a questa domanda molto simile: Ottenere i valori RGB per ogni pixel da una bitmap 24bpp per la conversione in formato GBA in C dove troverete il codice C che stampa ogni pixel, e dare un'occhiata alla pagina di Wikipedia sui file bmp, perché è molto buona.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top