【问题标题】:Aspect Ratio of images being displayed in UserNotification in relation to how images are stored in databaseUserNotification 中显示的图像与图像在数据库中的存储方式相关的纵横比
【发布时间】:2017-05-31 18:21:08
【问题描述】:

我正在使用新的 UserNotifications 框架在我的 iOS 应用的通知中包含图像附件。我正在从不同的数据库(例如 Facebook 以及我自己的 Firebase 数据库)中提取图像。

我有几个问题。

首先,如果从我的 firebase 数据库中显示通知图像并且高度大于宽度并且高度超过通知的最大图像高度(我不确定具体是什么),则图像是垂直压缩,纵横比不正确。请注意,我的应用程序中正确显示了相同的图像。

其次,如果从 Facebook 的数据库中显示通知图像并且高度大于宽度并且高度超过通知的最大图像高度,则整个图像将调整大小以适应通知的最大允许高度图像,在两侧留下白色竖条。

我想确保我存储到 Firebase 的图像永远不会以倾斜的纵横比呈现。对于超过最大允许高度的图像,我想裁剪这些图像以避免两侧出现白条。

另外值得注意的是,对于我存储到 firebase 的图像,无论是使用我的应用程序拍摄照片还是在本机 iOS 相机应用程序中拍摄并稍后上传,我都会得到相同的行为,这导致我相信问题在于如何将图像存储到 Firebase,而不是如何捕获图像以及它们是否包含适当的元数据。

我用来存储图片的 Firebase 相关代码很简单:

if let uploadData = UIImageJPEGRepresentation(imageToStore, 0.1) {

        imageStorageRef.put(uploadData, metadata: nil, completion: { (metadata, error) in

…

【问题讨论】:

    标签: ios swift firebase-storage aspect-ratio usernotifications


    【解决方案1】:

    一些想法:

    • 我会 curl -v 两个 URL 和比较标头,也许有一个明显的解决方案,因为 Facebook 图像有一些标头,您需要将这些标头添加到您存储在 Firebase 存储中的图像中。
    • Facebook 还可能使用类似于 Imgix/Cloudinary 的技术动态调整图像大小(请求具有适当高度/宽度的图像)。 You can integrate one of these providers relatively easily
    • 您可能需要在通知缩略图代码中构建一些额外的逻辑,以调整图像大小 (NSHipster post) 或将图像裁剪为适当的缩略图大小 (docs)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-29
      • 2017-04-11
      • 2014-09-06
      相关资源
      最近更新 更多