Apple 在 iOS 11 中引入了 heif 技术。在我的网站上,一些 iPhone 用户现在希望以相同的格式上传这些图片(不知道是否可以在 iOS 中将它们转换为 JPEG,我使用的是 Android,无法测试) . 如果我现在允许他们上传 heif 图片,我该如何在浏览器中显示它们?我尝试了一点,但不幸的是它不适用于简单的 HTML img 标签。我可以以不同的方式显示它,相对兼容,还是我必须转换整个图像?
问问题
4310 次
2 回答
1
我也有它涉及从 iPhone 上传图像的应用程序。因此,对于基本解决方案,我们所做的是将 heif 图像在 iOS 上转换为 jpeg,然后再将它们上传到服务器。我建议您也这样做,因为这样可以避免您的附加组件在网络上显示 heif 图像。转换为 jpeg 图像所涉及的步骤如下 -
使用从资产中获取 heif imageData
- (PHImageRequestID)requestImageDataForAsset:(PHAsset *)asset options:(nullable PHImageRequestOptions *)options resultHandler:(void(^)(NSData *__nullable imageData, NSString *__nullable dataUTI, UIImageOrientation 方向, NSDictionary *__nullable info))resultHandler;
使用从上述方法返回的 imageData 获取图像
UIImage *image = [UIImage imageWithData:imageData];
使用将图像转换为 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 回答