Click here to Skip to main content
13,143,185 members (56,840 online)
Click here to Skip to main content
Add your own
alternative version

Tagged as


4 bookmarked
Posted 15 Mar 2012

Save a 24 bit bitmap's pixel data to File in BMP format

, 24 Mar 2012
Rate this:
Please Sign up or sign in to vote.
This tip shows how to save a 24 bitmap to a file given filename, pixel data, bitmap width and bitmap height


This tip is about saving a 24 bit bmp image to a file given the raw bitmap bits containing drawing data in pixels and the width and height of the image.

The code

// szPathName : Specifies the pathname
// lpBits	 : Specifies the bitmap bits
// w	: Specifies the image width
// h	: Specifies the image height

bool SaveImage(char* szPathName, void* lpBits, int w, int h)


//Create a new file for writing

FILE *pFile = fopen(szPathName, "wb");

if(pFile == NULL)


return false;




BMIH.biSizeImage = w * h * 3;

// Create the bitmap for this OpenGL context


BMIH.biWidth = w;

BMIH.biHeight = h;

BMIH.biPlanes = 1;

BMIH.biBitCount = 24;

BMIH.biCompression = BI_RGB;

BMIH.biSizeImage = w * h* 3; 


int nBitsOffset = sizeof(BITMAPFILEHEADER) + BMIH.biSize; 

LONG lImageSize = BMIH.biSizeImage;

LONG lFileSize = nBitsOffset + lImageSize;

bmfh.bfType = 'B'+('M'<<8);

bmfh.bfOffBits = nBitsOffset;

bmfh.bfSize = lFileSize;

bmfh.bfReserved1 = bmfh.bfReserved2 = 0;

//Write the bitmap file header

UINT nWrittenFileHeaderSize = fwrite(&bmfh, 1, 


//And then the bitmap info header

UINT nWrittenInfoHeaderSize = fwrite(&BMIH, 

1, sizeof(BITMAPINFOHEADER), pFile);

//Finally, write the image data itself 

//-- the data represents our drawing

UINT nWrittenDIBDataSize = 

fwrite(lpBits, 1, lImageSize, pFile);



return true;



Tip uploaded : 16th March, 2012


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Mukit, Ataul
Chief Technology Officer Rational Technologies
Bangladesh Bangladesh
If you are not in - you are out !
- Chapter 1

You may also be interested in...


Comments and Discussions

Question{RQ}Code Project how to hiding text(not text file) within a color image 24bits/pixel Pin
tuancrab10-May-12 18:12
membertuancrab10-May-12 18:12 
AnswerRe: {RQ}Code Project how to hiding text(not text file) within a color image 24bits/pixel Pin
Mukit, Ataul11-May-12 19:13
memberMukit, Ataul11-May-12 19:13 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.170915.1 | Last Updated 24 Mar 2012
Article Copyright 2012 by Mukit, Ataul
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid