Hai ragione:
codice:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
// immagine(i) sorgente
#define SX 512
#define SY 512
unsigned char ImmagineS1[SX * SY];
// immagine destinazione
#define DX 512
#define DY 512
unsigned char ImmagineD[DX * DY];
// header per file BitMap monocromatici
#define DIM_HEAD_BMP 1078
unsigned char Header[DIM_HEAD_BMP];
static void CaricaBmp(const char *Nome, unsigned char *Dove, int x, int y) {
FILE *fHan = fopen(Nome, "rb");
if(fHan == NULL) {
printf("errore!\n");
exit(1);
}
fread(Header, DIM_HEAD_BMP, 1, fHan);
fread(Dove, x * y, 1, fHan);
fclose(fHan);
}
static void SalvaBmp(const char *Nome, unsigned char *DaDove, int x, int y) {
FILE *fHan = fopen(Nome, "wb");
if(fHan == NULL) {
printf("errore!\n");
exit(1);
}
fwrite(Header, DIM_HEAD_BMP, 1, fHan);
fwrite(DaDove, x * y, 1, fHan);
fclose(fHan);
}
int main(void) {
CaricaBmp("input.bmp", ImmagineS1, SX, SY);
SalvaBmp("output.bmp", ImmagineD, DX, DY);
return 0; }
devo lavorare sull'immagine BMP e visto che 1 immagine non è altro che una matrice di pixel ho bisogno di quest'ultima. Come posso ottenerla?
Grazie!