在Avalonia UI中显示ImageSharp图像



正如标题所说。Avalonia位图似乎需要文件路径,所以我想到的唯一解决方案是保存图像,然后显示它。但这并不是我想要做的,我想直接显示内存中的图像。

public void ReadAndDisplayImage()
{
ReadWrite rw = new ReadWrite();
var image = rw.ReadImage(ImagePath); //ImageSharp Image
SelectedImage = new Avalonia.Media.Imaging.Bitmap(ImagePath); //constructor accepts only string, unable to display ImageSharp Image directly
}

在这种情况下,从路径显示是完全可以接受的,但稍后我需要在不保存的情况下显示它。

您可以将图像的数据保存到内存流中,并将其传递到Avalonia的位图中。

public void ReadAndDisplayImage()
{
ReadWrite rw = new ReadWrite();
var image = rw.ReadImage(ImagePath);
using (MemoryStream ms = new MemoryStream())
{
image.Save(ms,PngFormat.Instance);
SelectedImage = new Avalonia.Media.Imaging.Bitmap(ms);
}
}

最新更新