Я искал форумы и наткнулся на это Получение массива байтов из Windows :: Storage :: Streams :: IBuffer но я не смог ничего из этого извлечь. Это может быть слишком судорожно для меня, чтобы понять.
Суть моей проблемы в том, что у меня есть IBuffer от вызова RenderTargetBitmap-> GetPixelsAsync (). Теперь мне нужно создать 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 ++ но безрезультатно. Любая помощь будет принята с благодарностью
Задача ещё не решена.
Других решений пока нет …