我搜索了论坛并遇到了这个从 Windows::Storage::Streams::IBuffer 中获取字节数组,但我无法从中得到任何东西。对我来说,这可能有点太令人费解了。
我的问题的症结在于我有一个调用 RenderTargetBitmap->GetPixelsAsync() 的 IBuffer。我现在需要使用此处提供的函数从该数据创建 CanvasBitmap http://microsoft.github.io/Win2D/html/M_Microsoft_Graphics_Canvas_CanvasBitmap_CreateFromBytes.htm
我发现无法将数据从 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()));
但是从这一点开始,我发现没有办法将它放入数组中。我试图使用如何在 C++ 中将向量转换为数组中的所有想法,但无济于事。任何帮助将不胜感激