Files
Work/proto/source/rawimg.cpp
2024-08-07 09:16:27 -04:00

21 lines
772 B
C++

#include <proto/rawimg.hpp>
#include <proto/rgb888.hpp>
bool RawImage::getRawData(GlobalData<BYTE> &rawData)
{
if(!isOkay())return false;
rawData.size(sizeof(BITMAPINFO)+(mRGBArray.size()*sizeof(RGB888)));
::memcpy((BYTE*)&rawData[0],(BITMAPINFO*)mBitmapInfo,sizeof(BITMAPINFO));
::memcpy(((BYTE*)&rawData[0])+sizeof(BITMAPINFO),(BYTE*)&mRGBArray[0],mRGBArray.size()*sizeof(RGB888));
return true;
}
bool RawImage::setRawData(GlobalData<BYTE> &rawData)
{
if(!rawData.size())return false;
::memcpy((BYTE*)(BITMAPINFO*)mBitmapInfo,(BYTE*)&rawData[0],sizeof(BITMAPINFO));
mRGBArray.size((rawData.size()-sizeof(BITMAPINFO))/sizeof(RGB888));
::memcpy((BYTE*)&mRGBArray[0],((BYTE*)&rawData[0])+sizeof(BITMAPINFO),rawData.size()-sizeof(BITMAPINFO));
return true;
}