我深化發展成像庫和我正在與該圖像數據的數據類型什麼數據類型用於圖像數據以避免std:bad_alloc?
掙扎由於圖像可以具有可變的數據類型(每像素8位,每像素16位)我想實施我的圖像數據的指針到
void* pimage_data;
但是無效*導致各類污穢醜惡的,包括指針算術如
pimage_data = &((unsigned char*)pimage_parent->m_pdata)[offset_y * pimage_parent->m_pitch + offset_x];
我懷疑的東西是不對的,因爲當我把它傳遞給另一個方法
個CImage* roi = CImage::create_image(size_x, size_y, pimage_parent->m_data_type, pimage_data);
CImage* CImage::create_image(int size_x, int size_y, E_DATA_TYPE data_type, void* pimage)
{
assert(size_x > 0);
assert(size_y > 0);
CImage* image = new CImage(size_x, size_y, data_type);
image->m_pdata = pimage;
return image;
}
新收益std::bad_alloc
現在我必須同意這一空白*不會直接導致bad_alloc的,但我敢肯定的東西是錯誤與它在這裏。任何提示?
編輯:
的CImage確實幾乎爲零
CImage::CImage(int size_x, int size_y, E_DATA_TYPE data_type)
{
assert(size_x > 0);
assert(size_y > 0);
// Copy of the parameter to the class members
this->m_size_x = size_x;
this->m_size_y = size_y;
this->m_data_type = data_type;
this->m_pitch = size_x;
// The ctor simply create a standalone image for now
this->m_pimage_child = NULL;
this->m_pimage_parent = NULL;
}
尺寸爲x:746,Y:325
當您撥打新電話時,您正在操作的圖像的大小是多少? (什麼是'size_x,size_y'?) – GManNickG 2010-01-19 03:01:01
我們可以看到CImage的構造函數嗎? – 2010-01-19 04:19:45