2011-05-20 56 views
0

我从Ogre渲染器获取图像。使用提升传输PixelBox数据

我得到的图像的pixelbox:

Ogre::RenderTarget *rt = _window; 
rt->update(); 

int width = rt->getWidth(); 
int height = rt->getHeight(); 

std::cout << "width=" << width << std::endl; 
std::cout << "height=" << height << std::endl; 

uchar *data = new uchar[width * height * 3]; 
PixelBox pb(width, height, 1, PF_BYTE_RGB, data); 


rt->copyContentsToMemory(pb); 

这样做之后,我想获得pb.data(这是食人魔:: UCHAR),它在一个缓冲区写,并通过发送套接字使用boost。并没有看到如何。

谢谢。

回答

1

查看http sync client的示例。你想要的代码看起来像:

boost::asio::streambuf request; 
std::ostream request_stream(&request); 
request_stream << pb; 
boost::asio::write(socket, request);