Загрузка фото из бд и вставка в ImageButton
Храню фотографии в базе данных как двоичные данные (вроде бы только так и можно загрузить фото в бд). Мне нужно из бд (sql server) вытащить фото и отобразить его в ImageButton.
private static Image GetImageBinaryFromDb()
{
List<byte[]> iScreen = new List<byte[]>();
using (SqlConnection sqlConnection = new SqlConnection(@"Data Source = xxxxx;Initial Catalog=xxx; User Id= xxxx; Password=xxxx;"))
{
sqlConnection.Open();
SqlCommand sqlCommand = new SqlCommand();
sqlCommand.Connection = sqlConnection;
sqlCommand.CommandText = @"SELECT [xxxxx] FROM [xxxx] WHERE [xxxx] = 0";
SqlDataReader sqlReader = sqlCommand.ExecuteReader();
byte[] iTrimByte = null;
while (sqlReader.Read())
{
iTrimByte = (byte[])sqlReader["xxxx"];
iScreen.Add(iTrimByte);
}
sqlConnection.Close();
}
byte[] imageData = iScreen[0];
MemoryStream ms = new MemoryStream(imageData);
Image newImage = Image.FromStream(ms);
return newImage;
}
Метод достает из бд массив байтов и приводит его к типу Image (хотя это наверное конченная практика - применять обычные десктопные библиотеки шарпа к андроид приложению). Проблема в том, что ни тип Image, ни byte[] не подходят ни для одного метода для установки изображения (по типу myimageview.SetImageResource/SetImageDrawable и т.д.). Может есть какие-то особенные методы для андроида, а то в крайнем случае прийдется загрузить фото в сам проект.