Со вчерашнего дня я пытаюсь загрузить изображение из байтового массива.
Я получаю байтовый массив из таблицы Employees База данных NorthWind .
Я прочитал некоторые статьи , в которых говорится, что существует заголовок OLE размера 78, который необходимо удалить, прежде чем мы преобразуем из byte [] в ImageSource. Но он не может получить никакого изображения.
вот мой конвертер:
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
byte[] data = value as byte[];
if (data != null)
{
MemoryStream ms = new MemoryStream();
int offset = 78;
BitmapImage img = new BitmapImage();
ms.Write(data, offset, data.Length - offset);
img.SetSource(ms);
ms.Close();
return img;
}
return null;
}
вот мое определение изображения в XAML
<Image Grid.Column="1" Height="147" HorizontalAlignment="Left" Margin="3,3,0,6" Name="photoImage" Source="{Binding Path=Photo, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource PhotoConverter1}}" Stretch="Fill" VerticalAlignment="Center" Width="137" DataContext="{Binding}" />
Не могли бы вы помочь мне понять, как заставить это работать?