最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C# AvaloniaUI實現(xiàn)圖片讀取與顯示的兩種方式

 更新時間:2026年05月31日 09:18:05   作者:xiaoshuaishuai8  
在 AvaloniaUI 中,圖片的讀取與顯示可以通過 Image 控件和 Bitmap 類實現(xiàn),以下是一個完整的示例代碼,展示如何從文件路徑加載圖片并顯示在界面上,需要的朋友可以參考下

AvaloniaUI 實現(xiàn)圖片讀取與顯示

在 AvaloniaUI 中,圖片的讀取與顯示可以通過 Image 控件和 Bitmap 類實現(xiàn)。以下是一個完整的示例代碼,展示如何從文件路徑加載圖片并顯示在界面上。

創(chuàng)建 AvaloniaUI 項目

確保已安裝 AvaloniaUI 模板。如果未安裝,可以通過以下命令安裝:

dotnet new install Avalonia.Templates
dotnet new avalonia.app -n AvaloniaImageDemo

修改主窗口代碼

MainWindow.axaml 中定義 Image 控件:

<Window xmlns="https://github.com/avaloniaui"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="AvaloniaUI 圖片顯示示例">
    <StackPanel>
        <Image x:Name="PreviewImage" Width="300" Height="300"/>
        <Button Content="選擇圖片" Click="OnLoadImageClick"/>
    </StackPanel>
</Window>

實現(xiàn)圖片加載邏輯

MainWindow.axaml.cs 中添加以下代碼:

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

從資源加載圖片

如果圖片嵌入到程序集中(如 Assets 文件夾),可通過以下方式加載:

private void LoadEmbeddedImage()
{
    var assets = AvaloniaLocator.Current.GetService<IAssetLoader>();
    using (var stream = assets.Open(new Uri("avares://AvaloniaImageDemo/Assets/sample.png")))
    {
        var bitmap = new Bitmap(stream);
        PreviewImage.Source = bitmap;
    }
}

注意事項

  • 文件路徑需確保應(yīng)用有訪問權(quán)限。
  • 圖片格式需為 Avalonia 支持的格式(如 PNG、JPEG、BMP)。
  • 異步加載大圖片時建議使用 await 避免阻塞 UI 線程。

以上代碼實現(xiàn)了從文件系統(tǒng)選擇圖片并顯示的功能,同時提供了從嵌入式資源加載的示例。

以上就是C# AvaloniaUI實現(xiàn)圖片讀取與顯示的兩種方式的詳細(xì)內(nèi)容,更多關(guān)于C# AvaloniaUI圖片讀取與顯示的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • c# 日歷控件的實現(xiàn)

    c# 日歷控件的實現(xiàn)

    這篇文章主要介紹了c# 實現(xiàn)日歷的示例代碼,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2020-12-12
  • C#中的9個“黑魔法”

    C#中的9個“黑魔法”

    這篇文章主要介紹了C#中的9個“黑魔法”與“騷操作”,本文通過實例代碼給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • 輕松學(xué)習(xí)C#的預(yù)定義數(shù)據(jù)類型

    輕松學(xué)習(xí)C#的預(yù)定義數(shù)據(jù)類型

    輕松學(xué)習(xí)C#的預(yù)定義數(shù)據(jù)類型,C#的預(yù)定義數(shù)據(jù)類型包括兩種,一種是值類型,一種是引用類型,需要的朋友可以參考下
    2015-11-11
  • C#如何通過匿名類直接使用訪問JSON數(shù)據(jù)詳解

    C#如何通過匿名類直接使用訪問JSON數(shù)據(jù)詳解

    這篇文章主要給大家介紹了關(guān)于C#如何通過匿名類直接使用訪問JSON數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起看看吧。
    2018-02-02
  • C#基于Socket實現(xiàn)多人聊天功能

    C#基于Socket實現(xiàn)多人聊天功能

    這篇文章主要為大家詳細(xì)介紹了C#基于Socket實現(xiàn)多人聊天功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 如何應(yīng)用C#實現(xiàn)UDP的分包組包

    如何應(yīng)用C#實現(xiàn)UDP的分包組包

    本篇文章小編將為大家介紹,如何應(yīng)用C#實現(xiàn)UDP的分包組包。需要的朋友參考下
    2013-04-04
  • C#實現(xiàn)日期格式轉(zhuǎn)換的公共方法類實例

    C#實現(xiàn)日期格式轉(zhuǎn)換的公共方法類實例

    這篇文章主要介紹了C#實現(xiàn)日期格式轉(zhuǎn)換的公共方法類,結(jié)合完整實例形式分析了C#針對各種常見日期格式的轉(zhuǎn)換方法,涉及C#字符串、日期、時間相關(guān)操作技巧,需要的朋友可以參考下
    2017-01-01
  • C#實現(xiàn)的二維數(shù)組排序算法示例

    C#實現(xiàn)的二維數(shù)組排序算法示例

    這篇文章主要介紹了C#實現(xiàn)的二維數(shù)組排序算法,涉及C#針對二維數(shù)組的遍歷、判斷、排序等相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • 深入理解C#的數(shù)組

    深入理解C#的數(shù)組

    本篇文章主要介紹了C#的數(shù)組,數(shù)組是一種數(shù)據(jù)結(jié)構(gòu),詳細(xì)的介紹了數(shù)組的聲明和訪問等,有興趣的可以了解一下。
    2016-11-11
  • C#仿Windows XP自帶的掃雷游戲

    C#仿Windows XP自帶的掃雷游戲

    這篇文章主要為大家詳細(xì)介紹了C#仿Windows XP自帶的掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04

最新評論

达州市| 上栗县| 洪江市| 甘泉县| 民权县| 容城县| 浏阳市| 修文县| 陆川县| 合水县| 呼图壁县| 丽江市| 东阿县| 武安市| 上杭县| 柞水县| 乐亭县| 苍南县| 丹棱县| 镶黄旗| 沂南县| 临澧县| 集安市| 厦门市| 额敏县| 禹州市| 桃园市| 忻州市| 广德县| 金寨县| 奉贤区| 上蔡县| 木里| 广宁县| 运城市| 会泽县| 武平县| 防城港市| 祁门县| 湄潭县| 定边县|