3

Apple 在 iOS 11 中引入了 heif 技术。在我的网站上,一些 iPhone 用户现在希望以相同的格式上传这些图片(不知道是否可以在 iOS 中将它们转换为 JPEG,我使用的是 Android,无法测试) . 如果我现在允许他们上传 heif 图片,我该如何在浏览器中显示它们?我尝试了一点,但不幸的是它不适用于简单的 HTML img 标签。我可以以不同的方式显示它,相对兼容,还是我必须转换整个图像?

4

2 回答 2

1

我也有它涉及从 iPhone 上传图像的应用程序。因此,对于基本解决方案,我们所做的是将 heif 图像在 iOS 上转换为 jpeg,然后再将它们上传到服务器。我建议您也这样做,因为这样可以避免您的附加组件在网络上显示 heif 图像。转换为 jpeg 图像所涉及的步骤如下 -

  1. 使用从资产中获取 heif imageData

    • (PHImageRequestID)requestImageDataForAsset:(PHAsset *)asset options:(nullable PHImageRequestOptions *)options resultHandler:(void(^)(NSData *__nullable imageData, NSString *__nullable dataUTI, UIImageOrientation 方向, NSDictionary *__nullable info))resultHandler;
  2. 使用从上述方法返回的 imageData 获取图像

    UIImage *image = [UIImage imageWithData:imageData];

  3. 使用将图像转换为 jpeg 图像数据

    NSData *jpgImageData = UIImageJPEGRepresentation(image, 1.0);

现在您可以使用此 jpgImageData 上传到服务器。希望这可以帮助您解决问题。

于 2018-07-17T06:08:52.970 回答
0

试试这个https://github.com/nokiatech/heif 诺基亚提供 HEIF 阅读器 JavaScript 实现。

于 2017-10-20T06:17:48.697 回答