В настоящее время я работаю над проектом сканирования ультразвука, который отображает продолжающиеся изображения, полученные из зонда, чтобы сделать это, я пишу следующий код.Лучший способ отображения изображения в WPF
XAML:
<Image Name="imgScan" DataContext="{Binding}" Source="{Binding Path=prescanImage,Converter={StaticResource imgConverter}}" />
C# Назначение:
Bitmap myImage = GetMeImage();
imageMem = new MemoryStream();
myImage .Save(imageMem, ImageFormat.Png);
imgScan.DataContext = new { prescanImage = imageMem.ToArray() };
Преобразователь:
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value != null && value is byte[])
{
byte[] ByteArray = value as byte[];
BitmapImage bmp = new BitmapImage();
bmp.BeginInit();
bmp.StreamSource = new MemoryStream(ByteArray);
bmp.EndInit();
return bmp;
}
return null;
}
Этот метод стоит мне много (производительность), есть ли лучший способ сделай это??
Является ли метод Convert самой высокой эффективностью при каждом запуске, или он слишком часто опрошен? Мне любопытно, может ли пользовательский элемент управления справиться с этим, это лучший подход (поскольку это постоянный поток изображений). –
Предлагает любые элементы управления custome/thirdparty ... или мы можем передавать потоки растровых изображений –