Я преобразование моего изображения из PictureBox в массив байт, какConvertion faild из изображения в массив байт с использованием ImageConverter в C#
public static byte[] ImageToByte(Image img)
{
ImageConverter converter = new ImageConverter();
return (byte[])converter.ConvertTo(img, typeof(byte[]));
}
, а затем conveting массива байт изображения, как
public static Image byteArrayToImage(byte[] imageData)
{
try
{
Image image;
using (MemoryStream inStream = new MemoryStream())
{
inStream.Write(imageData, 0, imageData.Length);
image = Bitmap.FromStream(inStream);
}
return image;
}
catch { throw; }
}
Здесь для в первый раз перед тем, как я сохраню данные, я загружаю файл из локальной системы в коробку с картинками как
openFileDialog1.Filter = "JPG Files (*.jpg)|*.jpg|JPEG Files (*.jpeg)|*.jpeg";
if (openFileDialog1.ShowDialog() != DialogResult.Cancel)
{
Image pic = Image.FromFile(openFileDialog1.FileName);
pboxPhoto.Image = pic;
}
Он работает на 100% в первый раз, когда я сохраняю данные в базе данных. Когда я извлекаю данные, я преобразовываю данные из возвращенного массива байтов в изображение и прикрепляюсь к picturebox. Все в порядке до сих пор. Теперь я хочу, чтобы обновить все записи, на этот раз ImagetoByte arrat метода бросает исключение, как
A generic error occurred in GDI+.
Так моя проблема заключается когда я загрузить изображение из локальной системы преобразования, но когда я преобразовать массив байт Изображение, а затем попытайтесь преобразовать изображение в массив байтов, метод, выбрасывающий исключение. Спасибо.
Как вы получаете изображение из коробки с картинками? – Jason
Я вызываю метод как byte [] img = ImageToByte (pboxPhoto.Image); –