WPF - Получить (выбрать или скачать) изображение из базы данных Mysql в WPF, используя C # - PullRequest
0 голосов
/ 16 сентября 2018

Я могу загрузить (извлечь) изображение из базы данных Mysql в WPF на C # с помощью этого куска кода. Этот код у меня есть копия с этого https://www.experts -exchange.com / questions / 25096053 / Получить изображения в C-WPF-Application-from-SQL-Server-Database.html Веб-сайт. Но я не знаю, как этот код работает построчно. Если кто-то, кто знает об этом, пожалуйста, помогите.

Код здесь.

string query = "SELECT image_data from image_table WHERE image_id=22";
            MySqlCommand cmd = new MySqlCommand(query, connection);
            MySqlDataReader dataReader = cmd.ExecuteReader();
            while (dataReader.Read())
            {
                Byte[] bindata = (Byte[])dataReader["image_data"];
                MemoryStream strm = new MemoryStream();
                strm.Write(bindata, 0, bindata.Length);
                strm.Position = 0;
                System.Drawing.Image img = System.Drawing.Image.FromStream(strm);
                BitmapImage bi = new BitmapImage();
                bi.BeginInit();
                MemoryStream ms = new MemoryStream();
                img.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
                ms.Seek(0, SeekOrigin.Begin);
                bi.StreamSource = ms;
                bi.EndInit();
                download.Source = bi; 
            }

1 Ответ

0 голосов
/ 17 сентября 2018

Я могу получить изображение из базы данных в wpf в c # с этим кодом. Единственная проблема с этим кодом состоит в том, что он извлекает только одно изображение за раз. Перед использованием этого кода добавьте System.Drawing.Imaging. библиотека в вашем коде.

BitmapImage bi = new BitmapImage();
                    System.Drawing.Image img;
                    MemoryStream strm = new MemoryStream();
                    strm.Write(bindata, 0, bindata.Length);
                    strm.Position = 0;
                    img = System.Drawing.Image.FromStream(strm);
                    bi.BeginInit();
                    MemoryStream ms = new MemoryStream();
                    img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                    ms.Seek(0, SeekOrigin.Begin);
                    bi.StreamSource = ms; 
                    bi.EndInit();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...