【问题标题】:.svg Image in MAUI BlazorMAUI Blazor 中的 .svg 图像
【发布时间】:2023-02-07 10:51:31
【问题描述】:

我正在尝试将图像设置到 MAUI Blazor 的剃刀页面中。 在 MAUI(仅)中,存在一种方法,即文件夹 Resources/Images 中有一个 .svg 图像。 MAUI 然后将 .svg 图像转换为 .png 图像,您可以在 XAML 文件中使用该图像。像这样:

现在我在 MAUI 中有相同的图片Blazor应用程序,我希望我能以同样的方式放置我的图片,期望我必须像这样使用 HTML 样式:

    <img src="one_list2.png">

但这根本不起作用。我尝试了有或没有路径,带斜杠的路径,反斜杠等。没有任何效果。

尝试将 .png 图像放入 wwwroot 文件夹中。但这不是目标。我发现放置 svg 图像非常好,然后根据其大小将其转换为 png。这样一来,所有图片都将以您需要的完美尺寸进行无损转换。

谢谢

【问题讨论】:

    标签: image svg maui-blazor


    【解决方案1】:

    首先,将图片添加到ResourcesRaw,并设置为MauiAsset编译类型

    其次,检查项目文件,避免在其他文件夹中设置图像。

    在剃须刀组件 HTML 中:

     <img src="@imageSource">
    

    在代码部分:

    private string? imageSource;
    protected override async Task OnInitializedAsync()
    {
        try
        {
            using var stream = 
                await FileSystem.OpenAppPackageFileAsync("testimage.png");
            using var reader = new StreamReader(stream);
            byte[] result;
            using (var streamReader = new MemoryStream())
            {
                stream.CopyTo(streamReader);
                result = streamReader.ToArray();
            }
            imageSource = Convert.ToBase64String(result);
            imageSource = string.Format("data:image/png;base64,{0}", imageSource);
        }
        catch (Exception ex)
        {
            //error
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-13
      • 2022-06-20
      • 2023-01-09
      • 2022-10-02
      • 2022-09-27
      • 2022-12-23
      • 1970-01-01
      • 2023-01-29
      相关资源
      最近更新 更多