gpt4 book ai didi

c# - 如何在 pcl 上加载 xamarin 共享图像的内容(流或字节[])?

转载 作者:太空宇宙 更新时间:2023-11-03 12:21:41 25 4
gpt4 key购买 nike

我有一个用于 PCL、Android 和 iOS 项目的 xamarin 表单解决方案。我在 PCL 项目中有几张图片,我链接到项目 Android 和 iOS(drawable/resources 文件夹)。因此,如果我想在 pcl 项目的图像控件中显示这些图像,我可以直接使用并且工作正常。

但是,我需要将此图像的内容加载到 Stream 或 byte[](当然,是微不足道的 convert from/to )以提前调用服务。

我怎样才能完成这个任务?如果有 pcl 项目中的方法更好,但如果需要特定平台的代码,没问题。

注意:如果我们将图像作为资源嵌入到 pcl 项目中,此任务会很容易,但我不希望这样,我不想增加嵌入重复图像的应用程序大小。

注意:还有其他“类似”的问题,但是请从嵌入式资源加载内容,这里不是这种情况。

最佳答案

你需要使用依赖并且需要特定平台的代码来从图像中获取base64字符串并在本地自动获取路径

在 Pcl 项目中

public interface IGetBase64
{
string GenerateBase64(string FileName);
}

在 Ios 渲染中

public string GenerateBase64(string FileName)
{
byte[] b = System.IO.File.ReadAllBytes(FileName);
string s = Convert.ToBase64String(b);
return s;
}

在安卓中

public string GenerateBase64(string FileName)
{
byte[] b = System.IO.File.ReadAllBytes(FileName);
string s = Convert.ToBase64String(b);
return s;
}

关于c# - 如何在 pcl 上加载 xamarin 共享图像的内容(流或字节[])?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46931031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com