21 lines
774 B
C++
21 lines
774 B
C++
#include <browse/rawimg.hpp>
|
|
#include <browse/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;
|
|
}
|