问题标签 [heif]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
103 浏览

ios14 - CIImage 的 HEIC 编码在 iOS14 中失败

我有以下在 iOS14 上失败的简单代码(在 iOS13 上运行良好)。

该代码将 CIImage 对象转换为 heif 表示。

0 投票
2 回答
667 浏览

c++ - WIC HEIF HEIC 图像解码 C++

Windows Imaging Component 用于解码 heif 图像。但是,成功解码图像需要来自 Microsoft 商店的额外应用程序(heif 图像扩展、hevc 视频扩展)。

没有它们,WIC api 将返回空白图像。现在我希望能够以编程方式确定是否可以正确解码 heif 文件。

我试图使用应该是WIC_HEIF_Decoder的DXVA Checker来定位所需解码器类型的存在。但我找不到它在任何地方注册。

在此处输入图像描述

有一个 GUID 键,但是CLSID_WICHeifDecoder记录在这里,我认为即使缺少解码器也可以在系统中注册。

有谁知道如何做到这一点?

0 投票
0 回答
1106 浏览

javascript - 如何将 HEIC/HEIF 图像转换为 ReactJs 中的图像

目前我正在使用antd提供的上传文件组件

在此处输入图像描述

另外我正在使用一个库来将 HEIC 转换为 JPG ......这个库被称为 heic2any,事实上工作得很好,基本上,它实现了它的目标,这是我使用的代码

到目前为止,这是我的代码:

我的问题发生在 HEIF 文件到达的那一刻...因为库不接受该格式,它只允许 HEIC ...但是会发生什么我也无法知道正在上传什么类型的文件以避免失败,因为为什么,当我要求 HEIF 或 HEiC 类型的照片时,这些是输入给我的数据: TYPE HEIF 在此处输入图像描述

类型 HEIC

在此处输入图像描述

对于这些情况,我可以识别正在加载的文件类型,所以我无法验证它......在这种情况下我能做什么?你知道任何允许我上传 HEIC 和 HEIF 照片的库吗?也许没有加载,至少转换为另一种格式,这样我就可以显示预览

0 投票
1 回答
6967 浏览

ffmpeg - 使用 ffmpeg 将 heif 文件转换为 png/jpg

用例非常简单。Imagemagick 能够进行转换,但我想使用 ffmpeg 进行转换。这是我尝试过的所有命令,所有命令都给出了 moov atom not found 错误。

输出

通过尝试使用以下命令提取 moov atom 的位置,似乎 moov atom 实际上不存在

输出

0 投票
1 回答
901 浏览

android - HeifDecoderImpl 导致“decStrong() 调用次数过多”

我的 Android 应用程序“照片比较”(https://github.com/sniederb/photocompare)使用“子采样比例图像视图”(来自 Dave Morrissey)来显示图像,并允许缩放和平移。这几乎总是很有效,但在带有 HEIC 图像的 Android 11 上,一旦我放大,活动就会崩溃。

中止线程是

并且崩溃报告指出

到目前为止,我的理解是 HeifDecoderImpl 被要求对图像区域进行异步解码(这就是“Subsampling Scale Image View”所做的,afaik),并且这样做会过于频繁地尝试释放资源,导致 RefBase 试图减少强引用计数太频繁。

作为一名应用程序程序员,我很困惑,不确定我是否可以在这里做任何事情。HeifDecoderImpl 和 RefBase 似乎都是核心 Android 代码。我是否需要查看“子采样比例图像视图”库?任何指针表示赞赏。

0 投票
2 回答
292 浏览

java - 如何从 avif 文件中获取图像尺寸?

我正在寻找一种(快速)方法来从我的 java 应用程序中的 avif 文件中检索图像元数据。目前通过分析文件的原始标题字节对许多图像格式完成此操作。

我可以通过文件开头的魔术字节序列将文件识别为avif ftypavif:. 但我无法找到任何信息如何解析包含图像的(最大)图像宽度和高度。例如,对于 JPEG2000,我可以搜索 SIZ 标记0xFF51并在之后解析尺寸,但即使在花费大量时间阅读 avif 的规范之后,我也无法找到类似的东西。

我的方法是否不正确,如果不解码图像就无法解析图像尺寸?或者是否有任何文档(甚至是可用的库)我错过了从 avif 文件中检索宽度和高度的信息?

任何提示表示赞赏!

0 投票
1 回答
283 浏览

lib - heif-convert 错误:JPEG 支持尚未编译

我正在尝试将 HEIC 文件转换为 JPEG。所以我安装了 libheif 库:

  • 我克隆了https://github.com/strukturag/libheif
  • 我跑了./autogen.sh
  • 我跑了./configure
  • 我跑了make
  • 我跑了sudo make install

现在该heif-convert工具已安装,但是当我运行时heif-convert input.HEIC output.jpeg,出现错误:JPEG support has not been compiled in.

我不明白我做错了什么(或者更可能是我忘了做什么),而且我在互联网上找不到任何东西。有人可以告诉我如何解决这个问题吗?

0 投票
0 回答
243 浏览

python - Django Admin 为 ImageField 添加了对 HEIC 的支持

请问有人有向 Django Admin 模块添加新图像格式支持的经验吗?我想使用这个叫做 pyheif-pillow-opener pyheif-pillow-opener来支持 HEIC。它应该注册,但我不确定具体在哪里。我尝试安装该模块,然后在 Django Admin 中将图像上传到 ImageField,但仍然收到一条消息:

上传有效图片。您上传的文件不是图像或损坏的图像。

编辑 - 解决方案:

只需将以下代码行添加到使用过的 Django 应用程序admin.py文件中:

0 投票
1 回答
126 浏览

swift - Core Image ciContext.writeHEIFRepresentation() 在使用 CICrop 过滤器时生成带有对角线的图像。我怎样才能防止这种情况?

我正在尝试生成HEIF 输出文件,但这样做时会得到奇怪的对角线。其他输出格式都没有出现这些奇怪的线条。见下图。问题似乎正在裁剪,但错误仅显示在 HEIF 输出文件中。

我可以使用以下操场代码复制此代码,您可以从此处下载https://duncangroenewald.com/files/SampleApps/CoreImageHEIFExporterBug-2.zip

我有一份苹果的错误报告,他们提到了“亚像素错误”——我不知道那是什么,也不知道为什么这些只会在 heif 输出格式中体现出来,或者如何防止它们——任何想法或这似乎只是一个苹果代码中的错误?

编辑。需要明确的是,这不是操场问题,因为问题发生在 macOS 应用程序中。

我怀疑这CIContext在生成 HEIF 输出时一定是一个错误,因为它只显示在 heif 输出文件中。但是,我对亚像素错误或 Apple 认为它们应该与此问题相关的原因一无所知。也许拥有更多核心图像知识的人可能会提出一些可能的解决方案。

在此处输入图像描述

0 投票
0 回答
106 浏览

javascript - 为什么 HEIC/HEIF 文件在 FileList 中有空白文件类型?

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

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

具有空白类型的文件对象