Я пытаюсь сохранить изображение в MemoryStream
, чтобы получить массив байтов.Не удается сохранить изображение в MemoryStream
using (MemoryStream ms = new MemoryStream()){
// Convert Image to byte[]
ms.Seek(0, SeekOrigin.Begin);
img.Save(ms, ImageFormat.RawFormat);
byte[] imageBytes = ms.ToArray();
return imageByates;
}
Этот кусок кода работает для изображения со следующими свойствами
Flags 77840
FrameDimensionList System.Guid[]
Heigth 2048
HorizontalResolution 72
Palette System.Drawing.Imaging.ColorPalette
PhysicalDimension {Width=1322, Height=2048}
Pixelformat Format24bppRgb
PropertyIDList 0 20625
PropertyIDList 1 20624
PropertyIDList 2 34675
PropertyItems System.Drawing.Imaging.PropertyItem
PropertyItems 0 System.Drawing.Imaging.PropertyItem
PropertyItems 1 System.Drawing.Imaging.PropertyItem
PropertyItems 2 System.Drawing.Imaging.PropertyItem
RawFormat [ImageFormat: b96b3cae-0728-11d3-9d7b-0000f81ef32e]
RawFormat height 2048 width 1322
Tag
VerticalResolution 72
Width 1322
я получаю позорный общая ошибка произошла в GDI + для другого изображения со следующими свойствами
Flags 73744
FrameDimensionList System.Guid[]
Heigth 336
HorizontalResolution 96
Palette System.Drawing.Imaging.ColorPalette
PhysicalDimension {Width=251, Height=336}
Pixelformat Format24bppRgb
RawFormat [ImageFormat: b96b3cae-0728-11d3-9d7b-0000f81ef32e]
RawFormat height 336 width 251
Tag
VerticalResolution 96
Width 251
разница, является первым jpeg-изображением, загруженным из файловой системы (с использованием Image.FromFile
). Последнее представляет собой изображение, которое я получаю через SDK, который предположительно выводит его из базы данных, хранящейся в сети. Изображения как System.Drawing.Image
Что может быть проблема здесь?
Да, SDK возвращает изображение объекта System.Drawing.Image. – rptony
вы можете попробовать заменить, img.Save (мс , ImageFormat.RawFormat), с img.Save (ms, img.RawFormat); – Hi10
Да, без изменений. – rptony