最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
C# AvaloniaUI中图片读取与显示的两种实现方法
时间:2026-05-31 18:00:01 编辑:袖梨 来源:一聚教程网
AvaloniaUI 实现图片读取与显示
AvaloniaUI框架提供了便捷的图片处理功能,开发者可以通过Image控件和Bitmap类实现本地及嵌入式图片的加载与展示。下面将详细介绍具体实现步骤。

创建 AvaloniaUI 项目
首先需要确保开发环境已安装AvaloniaUI模板。若未安装,执行以下命令进行安装:
dotnet new install Avalonia.Templates dotnet new avalonia.app -n AvaloniaImageDemo
修改主窗口代码
在项目主窗口文件中添加图片控件和按钮:
实现图片加载逻辑
为按钮添加点击事件处理程序,实现图片选择与加载功能:
using Avalonia;
using Avalonia.Controls;
using Avalonia.Input;
using Avalonia.Media.Imaging;
using Avalonia.Platform;
using System.IO;
using System.Threading.Tasks;
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private async void OnLoadImageClick(object sender, RoutedEventArgs e)
{
var dialog = new OpenFileDialog();
dialog.Filters.Add(new FileDialogFilter { Name = "图片文件", Extensions = { "jpg", "png", "bmp" } });
var result = await dialog.ShowAsync(this);
if (result != null && result.Length > 0)
{
var filePath = result[0];
await LoadImageAsync(filePath);
}
}
private async Task LoadImageAsync(string filePath)
{
using (var stream = File.OpenRead(filePath))
{
var bitmap = new Bitmap(stream);
PreviewImage.Source = bitmap;
}
}
}
从资源加载图片
对于嵌入程序集的资源图片,可通过资源加载器实现加载:
private void LoadEmbeddedImage()
{
var assets = AvaloniaLocator.Current.GetService();
using (var stream = assets.Open(new Uri("avares://AvaloniaImageDemo/Assets/sample.png")))
{
var bitmap = new Bitmap(stream);
PreviewImage.Source = bitmap;
}
}
注意事项
- 确保应用程序具有访问目标文件的权限
- 仅支持PNG、JPEG、BMP等标准图片格式
- 大尺寸图片建议使用异步加载方式避免界面卡顿
本文详细介绍了AvaloniaUI中实现图片加载的两种主要方式,帮助开发者快速掌握相关技术要点。
如需了解更多AvaloniaUI图像处理相关内容,可参考以下技术文档:
- C#调用halcon实现使用鼠标滚轮对图片进行缩放显示
- C# WPF ListBox 动态显示图片功能
- c#图片上传和显示的实现方法
- C#实现打开画图的同时载入图片、最大化显示画图窗体的方法
- C#将图片和字节流互相转换并显示到页面上