Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
griboyedov
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 107
#1

В GDI+ возникла ошибка общего вида

06.02.2017, 17:29. Просмотров 444. Ответов 2
Метки нет (Все метки)

Здравствуйте! Помогите, пожалуйста. Почему возникает такая ошибка?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
        private byte[] ImageToByteArray(Image img)
        {
            byte[] bytes=null;
            ImageConverter converter = new ImageConverter();
            bytes = (byte[])converter.ConvertTo(img, typeof(byte[]));
            return bytes; 
        }
 
        private void Button1_Click(object sender, EventArgs e)
        {
            byte[] bytes;
            Image image;
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                System.IO.FileStream fs = new System.IO.FileStream(openFileDialog1.FileName, System.IO.FileMode.Open);
                img = System.Drawing.Image.FromStream(fs);
                fs.Close();
                bytes = ImageToByteArray(image);
            }
            
        }

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2017, 17:29
Ответы с готовыми решениями:

В GDI+ возникла ошибка общего вида Image
ПРИНИМАЮ System.Threading.Thread.Sleep(100); byte igeb = new byte; igeb =...

В GDI+ возникла ошибка общего вида
Здравствуйте! Вот почему так работает: public static Image...

"В GDI+ возникла ошибка общего вида" и picturebox
Добрый день. При загрузке и выгрузке картинки в picturebox вываливается ошибка...

Возникла ошибка
namespace form5 { partial class MainForm { /// <summary> ///...

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

2
OwenGlendower
Супер-модератор
Эксперт .NET
8878 / 7880 / 3363
Регистрация: 17.03.2014
Сообщений: 15,531
Записей в блоге: 1
06.02.2017, 17:44 #2
griboyedov, если тебе нужны байты изображения, то их можно получить гораздо проще
C#
1
2
3
4
5
6
7
8
        private void Button1_Click(object sender, EventArgs e)
        {
            byte[] bytes;
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                bytes = System.IO.File.ReadAllBytes(openFileDialog1.FileName);
            }
        }
1
OldJerk
2 / 2 / 1
Регистрация: 21.11.2015
Сообщений: 56
28.09.2017, 16:22 #3
OwenGlendower, доброго дня!
У меня тоже проблема с этой темой.
Пишу приложение отчётов с изображениями проделанной работы. Читаю картинки, пишу в PictureBox,
из него в базу в Blob всё Ок. Читаю информацию обратно в форму. Картинки, соответственно, в те же
Picture.Box - всё Ок. Изменяю комментарий и пытаюсь снова сохранить бланк в базу - при попытке завернуть
картинку в поток выдаёт общая ошибка GDI+. Причём на второй картинке, первая заворачивается нормально.
Формат картинки рояля не играет, проверял.
Гляньте пожалуйста, может свежим глазом увидите причину.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
        private byte[] imgarray1;
        private byte[] imgarray2;
 
        private Products BuildProduct()
        {
            string branch = cmbBranch.Text;
            string technumber = txtTechNumber.Text;
            string typefromcatalog = txtTypeFromCatalog.Text;
            string valvename = cmbCategory.Text;
            int techproperty = int.Parse(txtTechProperty.Text);
            string manufacturer = txtManufacturer.Text;
            string remcomplectcode = txtRemComlectCode.Text;
            byte[] note = Encoding.UTF8.GetBytes(richTxtNote.Rtf);
            byte[] instruction = null;
            DateTime timeadd = DateTime.Now;
            if (imgarray1 == null && pictureBox1.Image != null)
            {
                MemoryStream memoryStream = new MemoryStream();
                pictureBox1.Image.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Png);//вот здесь прокатывает
                imgarray1 = memoryStream.ToArray();
                memoryStream.Dispose();
            }
            if (imgarray2 == null && pictureBox2.Image != null)
            {
                MemoryStream memoryStream = new MemoryStream();
                pictureBox2.Image.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Png);//а здесь уже нет, пишет "общая ошибка GDI+"
                imgarray2 = memoryStream.ToArray();
                memoryStream.Dispose();
            }
            Products product_entry = new Products(branch, technumber, typefromcatalog, valvename, techproperty, manufacturer, remcomplectcode, instruction, imgarray1, imgarray2, timeadd, note);
            return product_entry;
        }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2017, 16:22

Возникла ошибка при отражении типа во время XML сериализации
В строке using (Stream Read = File.Create(FileName)) ...

В gdi+ возникла ошибка общего вида
При попытке сохранить файл (был написан на другом компьютере) выскакивает...

Gdi+ возникла ошибка общего вида
"gdi+ возникла ошибка общего вида" На одной машине под win 7 возникает на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru