html - 在网络中显示苹果 heif 图像

标签 html image web heif

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

最佳答案

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

  1. 使用 asset 获取 heif imageData

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

    UIImage *image = [UIImage imageWithData:imageData];

  3. 使用以下方法将图像转换为 jpeg 图像数据

    NSData *jpgImageData = UIImageJPEGRepresentation(image, 1.0);

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

关于html - 在网络中显示苹果 heif 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46434049/

相关文章:

web - 在谷歌上搜索我的网站

html - 高度 :100% inside table-cell not working on Firefox and IE

javascript - Windows 8 水平内容页面

html - 垂直对齐 div 内的文本

css - 在 HTML/CSS 中堆叠图像

ios - ios 无法将镜像更新到 SQLite

javascript - 在父框架上加载 Tinybox(在 iframe 上)

html - 在较小的窗口上打开时没有滚动条

javascript - 如何使用 JavaScript 获取图像大小(高度和宽度)

.htaccess - (如何)我可以向网站添加第二个域以改善 SEO?