Malloc dodelitve ne!

živjo,
želim prebrati bmp sliko in jo v 1200 * 1200 array uporabo malloc.
je moja koda pravilna?Imam konceptov ampak mislim, da to ni prav ..
pls svetuje ..

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ali Very sad" border="0" />Koda:

# vključujejo <iostream.h>

# vključujejo <iostream.h>

# vključujejo <fstream.h>

# vključujejo <malloc.h>

# vključujejo <conio.h>

# vključujejo <stdlib.h>

int ** CreateImage (int, int);int glavne (neveljaven)

(

char buffer [1200];

ifstream inFile ( "22354.bmp");

if (! inFile);

(

sodišče << "Ne morem odpreti datoteke \ n";

vrnitev 1;

)

medtem ko (inFile>> buffer)

sodišče <<buffer <<endl;

inFile.close ();

vrnitev 0;

int ** myImage = null;

myImage = CreateImage (1200,1200);

)int ** CreateImage (int m, int n)

(

int ** pt = (int **) malloc (n * sizeof (int));

if (pt == NULL)

(

sodišče << "ni dovolj pomnilnika";

getch ();

izstop (0);

)

vrnitev pt;

)
 
Št vaša koda ni pravilna.First of all niste dimenzionirani vaših 2-D array pravilno.Glej, kaj sem naredil tukaj ...
Koda:int ** CreateImage (int m, int n)

(int ** pt = (int **) malloc (n * sizeof (int *));

if (pt == NULL)

(

sodišče << "ni dovolj pomnilnika";

getch ();

izstop (0);

)for (int i = 0; i <n; i )

(

pt = (int *) malloc (m * sizeof (int *));

if (pt == null)

(

sodišče << "ni dovolj pomnilnika";

getch ();

izstop (0);

)

)vrnitev pt;

)
 
i cant uporabo tega prebrati BMP datoteke?
Koda:

char buffer [1200];

ifstream inFile ( "image.bmp");

if (! inFile);

(

sodišče << "Ne morem odpreti datoteke \ n";

vrnitev 1;

)

medtem ko (inFile>> buffer)

sodišče <<buffer <<endl;

inFile.close ();vrnitev 0;

 
Ne pozabite,
da ni vse v BMP datoteke slikovnega informacij.In to velja za vse slike formatov.Nekatere so povezane s bytes velikost in barvo slike tako da ni treba dati, da so informacije v vaš slikovni array.

Da bi razumeli strukturo BMP datoteke prebrati te http://www.wotsit.org/download.asp?f=bmp

In za PGM / PPM datoteke prebrati te
http://www.wotsit.org/download.asp?f=pgm
http://www.wotsit.org/download.asp?f=ppm

 
Mislil sem, da za vsako array element, je enakovredna 1 bajt je 8 bitov ..če je 11111111, potem je enako za belega, 00000000 enaka črno obred?
da
je y prag se lahko uporabijo tu.isnt to pravico?

 
Ive 'zgubljen skozi članek .. to pomeni, če želim uporabljati bmp formatu, bolan'
življati določiti glavo issit?kaj takega?:

Koda:

typedef struct tagBITMAPFILEHEADER (/ * bmfh * /

UINT bfType;

DWORD bfSize;

UINT bfReserved1;

UINT bfReserved2;

DWORD bfOffBits;

) BITMAPFILEHEADER;
 
Ja, kar morate storiti je, da način.Za dodatno pomoč o začetku BMP datoteke v C , poskusite z iskanjem za nekatere primere kode na Googlu.

 

Welcome to EDABoard.com

Sponsor

Back
Top