使用boost传输PixelBox数据

时间:2011-05-20 09:10:09

标签: sockets boost buffer boost-asio ogre

我从Ogre rendertaget获得了一张图片。

我得到了图像的像素盒:

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(即Ogre :: uchar),将其写入缓冲区,然后使用boost通过套接字发送。而且看不到如何。

感谢。

1 个答案:

答案 0 :(得分:1)

查看http sync client的示例。您想要的代码如下所示:

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