如何使用 SkiaSharp 加载“独立于平台”的图像?

Posted

技术标签:

【中文标题】如何使用 SkiaSharp 加载“独立于平台”的图像?【英文标题】:How can I load a "platform-independent" image using SkiaSharp? 【发布时间】:2020-05-14 05:52:53 【问题描述】:

就像我可以指定一个简单的名称,例如Image.Source 中的photo.png,它会为每个平台提取正确的图像(以正确的分辨率),我怎样才能加载SKBitmap?在我看到的示例中,人们使用文件或资源的完整路径,但我的图像以不同的分辨率包含在每个平台项目中。

【问题讨论】:

【参考方案1】:

我所做的是为每个平台创建一个单独的实现,以将每个图像加载为本机类。 android 上的位图,我认为 ios 上的 UIImage。做所有事情都可以让您从每个平台可以使用的文件夹中提取。让它成为一个 skbitmap 的诀窍是将每一个保存到一个内存流中。内存流有一个方法可以将图像转换为字节数组,您可以在 skbitmap 的构造函数中使用它。

【讨论】:

以上是关于如何使用 SkiaSharp 加载“独立于平台”的图像?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 SkiaSharp 查找解码位图的 PixelFormat

如何使用 SkiaSharp 测量尾随空格?

如何在 C++ 中编写独立于平台的包装函数 [重复]

如何在 Python 中使用独立于平台的实现复制文件夹及其内容(文件/子目录)

如何摆脱使用 SkiaSharp 创建的 ImageSource 中的伪影

来自 URL 的 Skiasharp 贷款图像并在 Xamarin 表单中的 Canvas 上绘制