Actuellement, je travaille sur un projet d'analyse échographique, qui affiche les images continues acquises à partir d'une sonde, pour ce faire, j'écris le code suivant.Meilleure façon d'afficher l'image dans WPF
XAML:
<Image Name="imgScan" DataContext="{Binding}" Source="{Binding Path=prescanImage,Converter={StaticResource imgConverter}}" />
C# Affectation:
Bitmap myImage = GetMeImage();
imageMem = new MemoryStream();
myImage .Save(imageMem, ImageFormat.Png);
imgScan.DataContext = new { prescanImage = imageMem.ToArray() };
Converter:
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;
}
Cette méthode me coûte beaucoup de (performance), est-il une meilleure façon de fais le??
La méthode Convert elle-même coûte-t-elle beaucoup de performance à chaque exécution, ou est-elle simplement en train d'être interrogée trop souvent? Je suis curieux de savoir si un contrôle personnalisé pour gérer cela serait la meilleure approche (car il s'agit d'un flux constant d'images). –
Suggérerait des contrôles custome/thirdparty ... ou pouvons-nous diffuser les images bitmap –