在 Avalonia 中显示 ImageSharp Image UI

Display ImageSharp Image in Avalonia UI

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

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);
    }
}