我搜索了论坛并遇到了这个Getting an array of bytes out of Windows::Storage::Streams::IBuffer,但我无法从中得到任何结果。对我来说,弄清楚可能有点过于沮丧。
我的问题的症结在于我有一个IBuffer从调用RenderTargetBitmap-> GetPixelsAsync()。我现在需要使用此处提供的函数http://microsoft.github.io/Win2D/html/M_Microsoft_Graphics_Canvas_CanvasBitmap_CreateFromBytes.htm
从此数据创建CanvasBitmap我发现无法将数据从IBuffer传送到可以工作的数组。我找到了一种将数据导入向量的方法
//convert IBuffer to byte array
auto reader = ::Windows::Storage::Streams::DataReader::FromBuffer(buf);
std::vector<unsigned char> data(reader->UnconsumedBufferLength);
if (!data.empty())
reader->ReadBytes(
::Platform::ArrayReference<unsigned char>(
&data[0], data.size()));
但从这一点开始,我发现无法将其变为数组。我试图使用How to convert vector to array in C++的所有想法无济于事。任何帮助将不胜感激