0

我搜索了论坛并遇到了这个从 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++ 中将向量转换为数组中的所有想法,但无济于事。任何帮助将不胜感激

4

0 回答 0