![]() |
| ||
| Inverting 24-bit bitmap using fstream c++ 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(); } |
| ||
| Re: Inverting 24-bit bitmap using fstream c++ Can't you use a bmp library. |
| ||
| Re: Inverting 24-bit bitmap using fstream c++ oh, thanks, i didn't know there's a bmp library... i'll do someresearch then! |
| All times are GMT -4. The time now is 7:57 pm. |
Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC