Apple 在 iOS 11 中引入了 heif 技术。在我的网站上,一些 iPhone 用户现在想以相同的格式上传这些图片(不知道你是否可以在 iOS 中将它们转换为 JPEG,我使用的是 Android,但不能测试它)。如果我现在允许他们上传 heif 图片,我该如何在浏览器中显示它们?我已经尝试了一些,但不幸的是它不适用于简单的 HTML img 标签。我可以用不同的方式显示它,相对兼容,还是我必须转换整个图像?
最佳答案
我也有涉及从 iPhone 上传图像的应用程序。因此,对于基本解决方案,我们所做的是在将 heif 图像上传到服务器之前在 iOS 上将它们转换为 jpeg。 我建议您也这样做,因为这样可以避免您的附加组件在网络上显示 heif 图像。 转换为jpeg图像涉及的步骤如下-
使用 asset 获取 heif imageData
- (PHImageRequestID)requestImageDataForAsset:(PHAsset *)asset 选项:(nullable PHImageRequestOptions *)options resultHandler:(void(^)(NSData *__nullable imageData, NSString *__nullable dataUTI, UIImageOrientation orientation, NSDictionary *__nullable info))resultHandler;
使用上述方法从返回的 imageData 中获取图像
UIImage *image = [UIImage imageWithData:imageData];
使用以下方法将图像转换为 jpeg 图像数据
NSData *jpgImageData = UIImageJPEGRepresentation(image, 1.0);
现在您可以使用此 jpgImageData 上传到服务器。希望这可以帮助您解决问题。
关于html - 在网络中显示苹果 heif 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46434049/