在 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);
}
}
正如标题所说。似乎 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);
}
}