Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include "Bitmap.h"
- #include "BitmapInfoHeader.h"
- #include "BitmapFileHeader.h"
- namespace cop
- {
- Bitmap::Bitmap(int width, int height) : m_width(width), m_height(height), m_pPixel(new uint8_t[width*height * 3]{})
- {
- }
- void Bitmap::setPixel(int x, int y, uint8_t red, uint8_t green, uint8_t blue)
- {
- }
- bool Bitmap::write(std::string filename)
- {
- cop::BitmapFileHeader fileHeader;
- cop::BitmapInfoHeader infoHeader;
- //Size of file is size of Bitmap File Header + size of Bitmap Info Header + (3bytes each pixel will be taking)
- fileHeader.fileSize = sizeof(cop::BitmapFileHeader) + sizeof(cop::BitmapInfoHeader) + m_width + m_height * 3;
- //distance from the beginning of the file to where the data actually starts
- fileHeader.dataOffset = sizeof(cop::BitmapFileHeader) + sizeof(cop::BitmapInfoHeader);
- infoHeader.width = m_width;
- infoHeader.height = m_height;
- std::ofstream file;
- file.open(filename, std::ios::out | std::ios::binary);
- if (!file)
- {
- return false;
- }
- file.write((char *)&fileHeader, sizeof(fileHeader));
- file.write((char *)&infoHeader, sizeof(infoHeader));
- file.write((char *)&m_pPixel.get(), m_width*m_height*3); //Error -> Expression must have an lvalue or a function designator
- file.close();
- if (!file)
- {
- return false;
- }
- return true;
- }
- Bitmap::~Bitmap()
- {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement