如何在 IOS 上将 EXIF GPS 数据添加到 JPEG 图像中

问题描述 投票:0回答:2

我有一个使用 EXIFInterface 在 Android 上运行的解决方案。 然而我很难让它在 IOS 上运行,因为似乎没有接口可以做到这一点。 到目前为止我发现了什么:

我确信缺少了一些东西。不幸的是,ChatGPT 都无法提示我正确的方向。谷歌搜索也没有结果。

最后我需要将 GPS 信息添加到现有图像中。

有什么建议吗?

平台 C#、.NET MAUI

尝试了很多方法,似乎没有任何效果。

maui exif
2个回答
0
投票

已经解决了。

以下是如何让 EXIF 在 MAUI 上工作: 获取此 NUGET 包:

https://www.nuget.org/packages/ExifLibNet 适用于 Android 和 IOS。

现在,如果您使用 MediaPicker,IOS 上的问题是它会创建一个 .PNG 文件,即使它的文件结尾是 JPEG。为了解决这个问题,请使用此处提供的解决方案:

MediaPicker.CapturePhotoAsync() 图像旋转90度

仅需要IOS平台特定实现。 Android 足以使用媒体选择器。

现在可以了,我可以写入 GPS 信息了。


0
投票

我使用过 ImageSharp,事实证明它是 iOS 和所有其他平台的最佳选择。

不选择 ExifLibNet 的原因是它不再被支持/积极开发,更重要的是它不支持 HEIC/HEIF 图像。这些是 iOS 的默认图像类型。

ImageSharp 支持多种图像类型,具有读写功能,并支持所有 GPS 标签。

https://docs.sixlabors.com/api/ImageSharp/SixLabors.ImageSharp.html

虽然它不正式支持 HEIC/HEIF,但它提供了在其 api 之上构建的自定义解码器和编码器来支持它。这是我使用的https://github.com/hey-red/ImageSharp.Heif,它允许使用以下代码添加对这些图像类型的支持

var decoderOptions = new DecoderOptions()
{
    Configuration = new Configuration(
        new AvifConfigurationModule(), 
        new HeifConfigurationModule())
};

© www.soinside.com 2019 - 2024. All rights reserved.