标签: heif

在服务器上将HEIF(.heic)转换为JPEG?

Apple在iOS 11中引入了一种名为HEIF(.heic文件扩展名)的新图像格式.我知道您可以从iOS设备将图像导出为JPG,但我想将HEIC文件上传到我的服务器并将其转换为可以在所有其他设备上显示的JPEG文件.

任何人都可以推荐一种有效的方法来实现这一目标吗?

回答:

由于这个问题已经结束,我将在这里为你们其他人编辑我的答案.我们现在使用此库将HEIC转换为JPEG:https://github.com/monostream/tifig

此外,ImageMagick现在支持将HEIC转换为JPEG,这要归功于@toshic的分支

感谢@monostream@toshic为您的贡献!

编辑1:编辑问题的措辞更具体,符合SO指南

EDIT2:由于此主题现已关闭,因此添加了答案:/

jpeg imagemagick ios hevc heif

57
推荐指数
1
解决办法
3万
查看次数

为什么 HEIC/HEIF 文件在文件列表中具有空白文件类型?

我正在使用文件选择输入来上传多个文件。用户选择文件后,我会循环排序FileList以检查是否有任何 HEIC/HEIF 文件,以便显示错误消息。

const fileSelect = document.createElement("input");
fileSelect.setAttribute("type", "file");
fileSelect.setAttribute("multiple", "multiple");
fileSelect.click();
Run Code Online (Sandbox Code Playgroud)
if(!this.vm.acceptedTypes.includes(file.type)) {
  console.log(file);
  this._$inj.globalFac.showAlert(file.name, `Error: File type ${file.type} is not supported.`);
  continue;
}
Run Code Online (Sandbox Code Playgroud)

但是,当用户上传 HEIC/HEIF 文件时,该type属性为空。为什么?

空白类型的文件对象

javascript filelist heif heic

11
推荐指数
0
解决办法
1210
查看次数

如何打开 HEIF (.heic) 图像?

对于 C++ 项目,我需要打开并显示 HEIF (.heic) 图像。我所知道的(如果我是对的)是 HEIF 图像基于 ffmpeg 标准,并且需要读取 H265 编解码器。

我找到了几个开源的 H265 编解码器:

我可以打开和显示 H265 编码的视频文件,但我无法简单地打开、显示或转换 .heic 图像。他们都返回一个错误,或者什么都不做。

老实说,我有点困惑,因为 HEIF 标准似乎是一个保守的秘密。我找不到可以让我找到解决方案的相关信息。我发现的那些只是技巧和变通方法,例如强制设备(我在这里谈论的是使用新 iOS11 的 Apple iPhone)生成 jpg 图像而不是 heic,或者使用像 dr.fone 这样的第三方应用程序。当然,这些解决方案与我无关。

所以,有人可以告诉我应该对 .heif 图像使用哪种编解码器,以及如何使用它来打开它?或者是否有允许操作此类图像文件的开源库或示例?有人可以为我指出好的方向吗?

ffmpeg image codec heif

8
推荐指数
1
解决办法
1万
查看次数

在移动Safari中上传HEIF图像时保留EXIF(GPS/DateTimeOriginal)

在上传HEIF图像时,似乎iOS 11手机游戏将剥离一些EXIF(GPS/DateTimeOriginal),如何保存EXIF?

safari ios heif

8
推荐指数
0
解决办法
439
查看次数

资源文件夹中的HEIC图像未加载

我已经从我的项目中设置.heic了我的xcassets文件夹中的图像以节省一些空间.但是我无法通过UIImage(named:)构造函数加载它们.我总是得到nil,所以我必须加载它们的唯一方法是指定URL.你知道为什么吗?

imageView.image = UIImage(named: "stone") // This returns nil.
Run Code Online (Sandbox Code Playgroud)

xcassets文件夹

再次,如果我将它们作为文件添加到项目中,并通过此方法访问它们,我创建的一切都很好(或使用像SDWebImage这样的库),但我相信我正在失去应用程序细化的强大功能,因为图像作为文件托管因此,例如iPhone 7将只在需要时同时拥有2x3x分辨率2x.

extension UIImage {

    convenience init?(heicName: String, useScale: Bool = false) {
        guard let resourcePath = Bundle.main.path(forResource: heicName.fileName(fileExtension: .heic, useScale: useScale), ofType: nil) else {
            return nil
        }

        let url = URL(fileURLWithPath: resourcePath) as CFURL

        guard let source = CGImageSourceCreateWithURL(url, nil),
            let image = CGImageSourceCreateImageAtIndex(source, 0, nil) else {
                return nil
        }

        self.init(cgImage: image)
    }

} …
Run Code Online (Sandbox Code Playgroud)

xcode assets swift heif heic

8
推荐指数
1
解决办法
993
查看次数

如何在Python中使用HEIC图像文件类型

将图像从iPhone空投到OSX设备时,默认为高效率图像文件(HEIF)格式。我想用Python编辑和修改这些.HEIC文件。

我可以修改手机设置以默认将其另存为JPG,但这并不能真正解决能够使用其他文件类型的问题。我仍然希望能够处理HEIC文件以进行文件转换,提取元数据等。(示例用例-地理编码

枕头

这是尝试读取此类文件时使用Python 3.7和Pillow的结果。

$ ipython
Python 3.7.0 (default, Oct  2 2018, 09:20:07)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.2.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: from PIL import Image

In [2]: img = Image.open('IMG_2292.HEIC')
---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
<ipython-input-2-fe47106ce80b> in <module>
----> 1 img = Image.open('IMG_2292.HEIC')

~/.env/py3/lib/python3.7/site-packages/PIL/Image.py in open(fp, mode)
   2685         warnings.warn(message)
   2686     raise IOError("cannot identify image file %r"
-> 2687                   % (filename …
Run Code Online (Sandbox Code Playgroud)

python python-3.x heif heic

8
推荐指数
9
解决办法
4293
查看次数

如何提取 HEIC 文件格式中包含的多个图像?

我有一个包含多个图像的 HEIC 文件。如何提取 JPEG 或 PNG 格式的图像序列?是否有 NuGet 可以简化该过程?

这是一款适用于 Android、IOS 和 UWP 的图像处理软件。我一直在寻找编写这部分代码的起点。

c# xamarin uwp heif heic

7
推荐指数
0
解决办法
5469
查看次数

UIImage是否支持HEIC / HEIF

我的印象是UIImage将支持iOS 11中引入的HEIC / HEIF文件。在我的测试中,情况似乎并非如此。如果我确实让image = UIImage(named:“ test”)指向test.heic,那么image为nil。如果我使用图像文字,那么它将使应用程序崩溃。想知道现在是否尚未实现。谢谢。

uiimage ios ios11 heif

6
推荐指数
2
解决办法
3330
查看次数

在 Java 中处理 .heic 文件

我正在尝试使用 Java 中的 .heic 图像。本机 Java 无法处理这种格式。我想将其转换为不同的格式(.png 是理想的)或将其转换为 java.awt.Image 或类似的图像处理结构。我一直在互联网上搜索库,但数量不多,我实际使用的库(ConvertApi)与我的项目不兼容,因为我使用的是 JDK 1.7(这是不可协商的,这不是我的项目)所以我需要使用我拥有的东西)并且这个版本的 Java 没有 CompletableFuture 类。

有没有其他方法可以做到这一点?

java heif heic

6
推荐指数
0
解决办法
1129
查看次数

OpenCV 支持 .HEIC 图像格式吗?

我正在做一个人脸检测项目,想知道opencv是否在imread()和imwrite()方法中提供对heic格式的支持?可以使用 cv2 的 imread() 函数读取图像并使用 cv2.imwrite() 函数写入图像吗?(使用语言:Python3.6)

python opencv image heif heic

6
推荐指数
1
解决办法
7141
查看次数

标签 统计

heif ×10

heic ×6

ios ×3

image ×2

python ×2

assets ×1

c# ×1

codec ×1

ffmpeg ×1

filelist ×1

hevc ×1

imagemagick ×1

ios11 ×1

java ×1

javascript ×1

jpeg ×1

opencv ×1

python-3.x ×1

safari ×1

swift ×1

uiimage ×1

uwp ×1

xamarin ×1

xcode ×1