У меня проблема с отображением изображения, хранящегося в моей базе данных MySQL.
Я не знаю, успешно ли я его сохранил, но используя эту функцию, которая преобразует изображение в файл больших двоичных объектов, вот функция:
private byte[] imageToByteArray(Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
return ms.ToArray();
}
Когда я проверяю свою базу данных, там написано BLOB с синим цветом. Теперь я хотел бы отобразить изображение в моем PictureBox. У меня также есть функция для преобразования массива байтов в изображение.
private Image byteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
ms.Position = 0;
Image returnImage = Image.FromStream(ms);
return returnImage;
}
Когда я запускаю приложение, оно говорит:
ArgumentException не поддерживается, параметр недопустим
Я пробовал использовать этот синтаксис:
pictureBox1.Image = byteArrayToImage(dr["img"] as byte[]);
Или я думаю, стоит ли мне сначала преобразовать BLOB в байтовый массив? затем используйте функцию для преобразования массива байтов в изображение?
когда я нажимаю на имя, оно должно отображать информацию, к сожалению, я получаю исключение аргумента..
int i = dataGridView1.SelectedCells[0].RowIndex;
string firstname = dataGridView1.Rows.Cells[0].Value.ToString();
string lastname = dataGridView1.Rows.Cells[1].Value.ToString();
Connection connect = new Connection();
MySqlConnection mySqlConnect = new MySqlConnection(connect.connString());
mySqlConnect.Open();
string s = "SELECT * FROM tbl_contacts WHERE username = '" + label1.Text + "' and (fname = '" + firstname + "' and lname = '" + lastname + "')";
MySqlCommand mySQL = new MySqlCommand(s, mySqlConnect);
mySQL.ExecuteNonQuery();
MySqlDataReader dr = mySQL.ExecuteReader();
if (dr.HasRows)
{
dr.Read();
txtFname.Text = dr["fname"].ToString();
txtLname.Text = dr["lname"].ToString();
txtBday.Text = dr["birthday"].ToString();
txtEmail.Text = dr["email"].ToString();
txtMobile.Text = dr["mobile"].ToString();
txtAddress.Text = dr["address"].ToString();
txtNotes.Text = dr["notes"].ToString();
pictureBox1.Image = byteArrayToImage(dr["img"] as byte[]);
}
Подробнее здесь: https://stackoverflow.com/questions/143 ... b-to-image
Как конвертировать BLOB в изображение ⇐ C#
Место общения программистов C#
1765983725
Anonymous
У меня проблема с отображением изображения, хранящегося в моей базе данных MySQL.
Я не знаю, успешно ли я его сохранил, но используя эту функцию, которая преобразует изображение в файл больших двоичных объектов, вот функция:
private byte[] imageToByteArray(Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
return ms.ToArray();
}
Когда я проверяю свою базу данных, там написано BLOB с синим цветом. Теперь я хотел бы отобразить изображение в моем PictureBox. У меня также есть функция для преобразования массива байтов в изображение.
private Image byteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
ms.Position = 0;
Image returnImage = Image.FromStream(ms);
return returnImage;
}
Когда я запускаю приложение, оно говорит:
ArgumentException не поддерживается, параметр недопустим
Я пробовал использовать этот синтаксис:
pictureBox1.Image = byteArrayToImage(dr["img"] as byte[]);
Или я думаю, стоит ли мне сначала преобразовать BLOB в байтовый массив? затем используйте функцию для преобразования массива байтов в изображение?
когда я нажимаю на имя, оно должно отображать информацию, к сожалению, я получаю исключение аргумента..
int i = dataGridView1.SelectedCells[0].RowIndex;
string firstname = dataGridView1.Rows[i].Cells[0].Value.ToString();
string lastname = dataGridView1.Rows[i].Cells[1].Value.ToString();
Connection connect = new Connection();
MySqlConnection mySqlConnect = new MySqlConnection(connect.connString());
mySqlConnect.Open();
string s = "SELECT * FROM tbl_contacts WHERE username = '" + label1.Text + "' and (fname = '" + firstname + "' and lname = '" + lastname + "')";
MySqlCommand mySQL = new MySqlCommand(s, mySqlConnect);
mySQL.ExecuteNonQuery();
MySqlDataReader dr = mySQL.ExecuteReader();
if (dr.HasRows)
{
dr.Read();
txtFname.Text = dr["fname"].ToString();
txtLname.Text = dr["lname"].ToString();
txtBday.Text = dr["birthday"].ToString();
txtEmail.Text = dr["email"].ToString();
txtMobile.Text = dr["mobile"].ToString();
txtAddress.Text = dr["address"].ToString();
txtNotes.Text = dr["notes"].ToString();
pictureBox1.Image = byteArrayToImage(dr["img"] as byte[]);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/14332862/how-to-convert-blob-to-image[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия