Image to byte C++ CLI

Я новичок в написании кода на C++, пока только разбираюсь и не понимаю как перевести картинку в байты, у меня есть код на C#, он работает, хочу написать подобный на C++, но не понимаю как. Вот код на C#, помогите пожалуйста.

public static byte[] ImageToByte2(Image img)
    {
        byte[] result;
        using (MemoryStream memoryStream = new MemoryStream())
        {
            img.Save(memoryStream, ImageFormat.Png);
            result = memoryStream.ToArray();
        }

        return result;
    }

UPD: Заменил некоторые знаки, но ошибки все еще остались

static BYTE ImageToByte(System::Drawing::Image^ img)
{
    BYTE result;
    System::Byte result;
    System::IO::MemoryStream memoryStream;
    {
        img->Save(memoryStream, System::Drawing::Imaging::ImageFormat::Png);
        result = memoryStream.ToArray();
    }

    return result;
}

Ошибка: https://imgur.com/JBv6NK3 и https://imgur.com/COqzZaa


Ответы (1 шт):

Автор решения: Alexander Petrov

Примерно так. У меня сейчас нет под рукой C++/CLI, проверить не могу.

public:
static array<Byte>^ ImageToBytes(Image^ image)
{
    MemoryStream^ memoryStream = gcnew MemoryStream();
        
    image->Save(memoryStream, ImageFormat::Png);

    return memoryStream->ToArray();
}

Откройте пространства имён, чтобы код стал лаконичней:

using namespace System;
using namespace System::IO;
using namespace System::Drawing;
using namespace System::Drawing::Imaging;
→ Ссылка