Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C/C++]Leggere valori interi da file bitmap

    In una conversazione di qualche anno fa è stata introdotta una parte del mio problema.
    http://forum.html.it/forum/showthrea...=&pagenumber=1
    Siccome è un post del 2003 dubito che qualcuno possa rispondere quindi ho pensato di rifare un nuovo post anche perché il mio problema è leggermente diverso.
    Facendo riferimento al post stesso l'utente Johnny_Depp ha creato un'immagine bitmap di dimensione 27x13 (=351 pixel totali ). Quando poi è andato a scrivere sul file il vettore che si era creato, nell'indice del "for" ha scritto il numero 1146. Domanda: come esce fuori questo numero? E' legato alla risoluzione dell'immagine? Se si come?Se ad esempio avessi un'immagine 400x600 come faccio ad ottenere la rispettiva lunghezza del vettore? Cercando nel web non ho trovato risposta a questo quesito!
    Grazie anticipatamente per l'aiuto!!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    I pixel sono 351 e ci vogliono 3 valori da 8 bit per ogni pixel per il colore RGB (quindi 3 byte per identificare il colore di ogni pixel). Dunque, per l'immagine, devi usare

    351 x 3 = 1053 byte

    e la parte rimanente fa parte dell'header del file bmp (in cui esistono diversi campi da riempire).
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Grazie per la risposta tempestiva!! Ho ancora un dubbio su come strutturare l'header e riempire i campi. La struttura è standard? Dipende dalla risoluzione dell'immagine oppure per una generica immagine .bmp posso usare sempre la stessa? E soprattutto come è fatta questa struttura?
    Grazie ancora!

  4. #4
    Attenzione, i byte di dati dell'immagine in realtà sono di più, dato che ogni scanline è allineata a 4 byte, per cui in caso di linee di con numero di byte non multipli di 4 (come in questo caso: 27*3=81) ci sono dei byte di padding per riprendere l'allineamento.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    La struttura può essere complessa ... guarda qui

    http://en.wikipedia.org/wiki/BMP_file_format
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.