bassfoil
26-02-2013, 10:57
Salve a tutti!
Volevo fare un programma in FORTRAN 90 (come compilatore uso "elf90" ) per "aprire" immagini bitmap per poter analizzare i livelli di grigio tra varie immagini.
Ho però difficoltà ad aprire i bile bitmap: devo confessare che è la prima volta che proprio ad aprire un file che non sia un semplice file di testo e quindi per me il passo è grande.
Vi volevo chiedere un suggerimento su come procedere
Questo è quello che ho scritto:
CODICE: SELEZIONA TUTTO
PROGRAM bmp
IMPLICIT NONE
CHARACTER (LEN = 1):: valore
CHARACTER(LEN=10) :: nome_file
INTEGER :: cont
nome_file = 'prova.bmp'
OPEN(unit=8, FILE=nome_file, FORM = 'UNFORMATTED' , ACCESS = 'DIRECT' , RECL = 2, STATUS='OLD', ACTION='READ')
DO cont=1,80
read(8,*) valore
write(*,*) valore
END DO
STOP
END PROGRAM bmp
Mi da questo errore:
File header is incompatible with FORM= and ACCESS= (see "Input/Output" in the
Essential Lahey Fortran 90 Reference), FILE=prova.bmp, UNIT=8.
Dove sbaglio?
Cosa dovrei fare?
Vi chiederei solo di spiegarmi in modo semplice le cose... non troppo sono pratico di byte... bit.. e di lettura di file in modo binario..
Vi ringrazio in anticipo per la risposta!!!!!
Marco
Volevo fare un programma in FORTRAN 90 (come compilatore uso "elf90" ) per "aprire" immagini bitmap per poter analizzare i livelli di grigio tra varie immagini.
Ho però difficoltà ad aprire i bile bitmap: devo confessare che è la prima volta che proprio ad aprire un file che non sia un semplice file di testo e quindi per me il passo è grande.
Vi volevo chiedere un suggerimento su come procedere
Questo è quello che ho scritto:
CODICE: SELEZIONA TUTTO
PROGRAM bmp
IMPLICIT NONE
CHARACTER (LEN = 1):: valore
CHARACTER(LEN=10) :: nome_file
INTEGER :: cont
nome_file = 'prova.bmp'
OPEN(unit=8, FILE=nome_file, FORM = 'UNFORMATTED' , ACCESS = 'DIRECT' , RECL = 2, STATUS='OLD', ACTION='READ')
DO cont=1,80
read(8,*) valore
write(*,*) valore
END DO
STOP
END PROGRAM bmp
Mi da questo errore:
File header is incompatible with FORM= and ACCESS= (see "Input/Output" in the
Essential Lahey Fortran 90 Reference), FILE=prova.bmp, UNIT=8.
Dove sbaglio?
Cosa dovrei fare?
Vi chiederei solo di spiegarmi in modo semplice le cose... non troppo sono pratico di byte... bit.. e di lettura di file in modo binario..
Vi ringrazio in anticipo per la risposta!!!!!
Marco