В устаревшем приложении VB6 у меня есть изображение BMP, сохраненное в PictureBox. Я могу сохранить его в файл BMP, используя:
SavePicture picBox.Picture, "BmpImage.bmp"
Однако я хочу сохранить изображение BMP в PictureBox в массив байтов. Мне нужно хранить весь BMP, включая заголовки BMP. По сути, мне нужны те же данные, которые были бы записаны в файл BMP, но в байтовом массиве без необходимости записи и чтения файла на диске.
Я искал, но не нашел в Интернете ничего, что решает этот конкретный вопрос.
Я нашел одну ссылку , в которой предлагалось записать в MemoryStream. Итак, я попробовал это:
10 Dim bmpArray() As Byte
20 Dim memStream As New System.IO.MemoryStream
50 SavePicture picBox.Picture, memStream
60 bmpArray = memStream.GetBuffer
Однако это не компилируется. Я получаю «Определенный пользователем тип не определен» для «System.IO.MemoryStream», который я включил в свой список ссылок System. Я также попытался объявить New MemoryStream , но все еще получаю ошибку компилятора «Тип пользователя не определен».
Также я рассмотрел аналогичный вопрос , однако предоставленное решение хранит только данные пикселей в массиве.