Inverting 24-bit bitmap using fstream c++

Reply

Join Date: Jul 2007
Posts: 30
Reputation: Mylena is an unknown quantity at this point 
Solved Threads: 1
Mylena Mylena is offline Offline
Light Poster

Inverting 24-bit bitmap using fstream c++

 
0
  #1
Jul 18th, 2007
Hello!
I need to invert a 24-bit bmp image from right to left, and from top to bottom. I know how to invert colours, but not the position. I only know fstream to open and close files. This is what I did (below). Please let me know where I am wrong, or maybe other easiter things than fstream that i can use? Really appreciate any help!!!


void ReverseBMP::reverseBitmap()
{
string originalBMP;
string reversedBMP;
cout<<"Please specify the name of original file. Include extension .bmp "<<endl;
cin>>originalBMP;
cout<<"Please specify the name of reversed file. Include extension .bmp "<<endl;
cin>>reversedBMP;

ifstream original_file;
original_file.open(originalBMP.c_str(), ios::in|ios::binary);

ofstream reversed_file(reversedBMP.c_str(), ios::binary|ios::out);

char c;

//finding the size of the existing bitmap file
original_file.seekg(0,ios::end);
long size_of_original = original_file.tellg();

//putting cursor back to beginning in original file
original_file.seekg(0,ifstream::beg);

int count=0;
int cursor_position = 0;
reversed_file.seekp(0, ofstream::beg);

while(!original_file.eof())
{
original_file.read(&c, sizeof(char));

// Reading header of the original file - the first 54 characters starting at 0
if(count < 54)
{
reversed_file.put(c);
count++;
}


else
{
reversed_file.seekp(cursor_position, ios::end);
reversed_file.put(c);
reversed_file.put(c);
reversed_file.put(c);
cursor_position++;
count++;
}


}

original_file.close();
reversed_file.close();

}
Reply With Quote Quick reply to this message  
Join Date: Aug 2005
Posts: 5,264
Reputation: iamthwee is a splendid one to behold iamthwee is a splendid one to behold iamthwee is a splendid one to behold iamthwee is a splendid one to behold iamthwee is a splendid one to behold iamthwee is a splendid one to behold iamthwee is a splendid one to behold iamthwee is a splendid one to behold 
Solved Threads: 376
Featured Poster
iamthwee's Avatar
iamthwee iamthwee is offline Offline
Posting Expert

Re: Inverting 24-bit bitmap using fstream c++

 
0
  #2
Jul 18th, 2007
Can't you use a bmp library.
*Voted best profile in the world*
Reply With Quote Quick reply to this message  
Join Date: Jul 2007
Posts: 30
Reputation: Mylena is an unknown quantity at this point 
Solved Threads: 1
Mylena Mylena is offline Offline
Light Poster

Re: Inverting 24-bit bitmap using fstream c++

 
0
  #3
Jul 18th, 2007
oh, thanks, i didn't know there's a bmp library... i'll do someresearch then!
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:



Similar Threads
Other Threads in the C++ Forum
Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC