Member 12684206 Ответов: 1

Я не могу сохранить объединенные изображения из одного picturebox в базу данных


Я Не Могу Сохранить Объединенные Изображения Из Одного PictureBox В Базу Данных
Когда нажмите кнопку btnSave
Ошибка: 'System.NullReferenceException' при преобразовании pictureBoxNemoone.Изображение В Растровое Изображение
Пожалуйста, Помогите Мне Сохранить В Базе Данных
Спасибо

Что я уже пробовал:

private void btnImgNemoone_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "JPG Files (*.jpg)|*.jpg";
            ofd.Multiselect = true;
            
            ofd.Title = "?????? ??? ?????";
            ofd.ShowDialog();

            string fullPath = ofd.FileName;
            string directory1;
            directory1 = fullPath.Substring(0, fullPath.LastIndexOf('\\'));
            DirectoryInfo directory = new DirectoryInfo(fullPath.Substring(0, fullPath.LastIndexOf('\\')));

            List<system.drawing.bitmap> images = new List<system.drawing.bitmap>();
            System.Drawing.Bitmap finalImage = null;

            try
            {
                int width = 0;
                int height = 0;

                foreach (string image in ofd.FileNames)
                {
                    System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(image);

                    width += bitmap.Width;
                    height = bitmap.Height > height ? bitmap.Height : height;

                    images.Add(bitmap);
                }

                finalImage = new System.Drawing.Bitmap(width, height);

                using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(finalImage))
                {
                    g.Clear(System.Drawing.Color.Black);

                    int offset = 0;
                    foreach (System.Drawing.Bitmap image in images)
                    {
                        g.DrawImage(image,
                          new System.Drawing.Rectangle(offset, 0, image.Width, image.Height));
                        offset += image.Width;
                    }
                }

                pictureBoxNemoone.Image = finalImage;
            }
            catch (Exception)
            {}
        }

        private void btnSave_Click(object sender, EventArgs e)
        {
            byte[] ImgNemooneN;
            ImgNemooneN = null;
            Bitmap BNemoone = (Bitmap)pictureBoxNemoone.Image;
            System.IO.MemoryStream MSNemoone = new System.IO.MemoryStream();
            BNemoone.Save(MSNemoone, BNemoone.RawFormat);
            ImgNemooneN = MSNemoone.GetBuffer();
        }

NotPolitcallyCorrect

Ваш код не отформатирован так, чтобы его можно было прочитать.
Научитесь отлаживать свой код, находить строку, в которой возникает ошибка, исправлять ошибку.

Patrice T

Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.

Patrice T

И вы планируете сказать, где ошибка ?

NotPolitcallyCorrect

Размещение большего количества неформатированного кода не помогает. Научитесь отлаживать код и исправлять ошибки.

Patrice T

Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.

1 Ответов

Рейтинг:
5

Member 12684206

Я нахожу кодирование для преобразования

private void btnSave_Click(object sender, EventArgs e)
{
    byte[] ImgNemooneN;
    ImgNemooneN = null;
    MemoryStream ms = new MemoryStream();
    pictureBoxNemoone.Image.Save(ms, ImageFormat.Jpeg);
    ImgNemooneN = new byte[ms.Length];
    ms.Position = 0;
    ms.Read(ImgNemooneN, 0, ImgNemooneN.Length);

}