【转】HEIF图片存储格式探秘
HEIF图片存储格式探秘
HEIF,High Efficiency Image File Format,即高效率图档格式,是由动态图像专家组(MPEG–Moving Picture Experts Group )在2013年推出的存储图片和图片序列的新格式,用于HEVC关键帧的处理上,因此它同样可以用更少的容量来存储画质更好的照片,在连拍、动图和色彩变化不大的照片上效果尤其明显。
官网:http://nokiatech.github.io/heif/
比较:http://nokiatech.github.io/heif/comparison.html
GitHub地址:https://github.com/nokiatech/heif
在git的wiki上有说明如何进行编译,需要再linux中进行编译,今天安装了linux系统,然后,准备编译一下。
编译构建
从GitHub上下载了Nokia的代码,语言不通,几乎看不懂,但是,从wiki上看到了如何进行编译和构建,于是决定试试。
在Linux环境下,打开命令行模式,输入命令进行下载:

下载完成后,可以看到目录结构如下:

然后,进入heif目录,新建文件夹,命名为build,然后进入build,执行cmake ..

然后执行make:

生成了可执行的writerapp的执行文件,但是现在还不知道怎么执行。
转换工具:
这个转换工具,今天测试了以下,不是很好用。
Android项目Demo
https://github.com/yohhoy/heifreader
这个项目使用了 sannies/mp4parser这个库解析HEIF结构。目前为止存在bug,没有解决,可能是因为当前技术不完善吧
各种不支持
Windows不支持,PhotoShopCC不支持,低版本的iPhone、Mac均不支持该格式,微信,微博等均不支持(测试了Android版本的)
在线的HEIF图片地址:
这里找到了一些在线的图片地址,heic格式的,是诺基亚官方提供的,以后研究的时候可以使用
在线地址:https://github.com/nokiatech/heif/tree/gh-pages/content/images
没有快速推广的原因:
- 专利费,齁贵,各大厂硬件厂商用不起
- 格式暂时未通用,各大软件服务商,暂时没有支持,表现在Windows也无法产生这种文档的图示,而且Photoshop也不支持该格式的图片编辑,目前仅苹果支持。
【转】HEIF图片存储格式探秘的更多相关文章
- 如何让Android 支持HEIF 图片解码和加载(免费的方法)
字节跳动火山引擎ImageX提供了一种能力,可以支持客户端android 直接解码HEIF 和HEIC图片,经过测试发现,可以免费使用: 一.阅前准备 HEIF图片格式是什么? 高效率图像格式(Hig ...
- 学习OpenSeadragon之一(一个显示多层图片的开源JS库)
OpenSeadragon是一个可以显示多层图片(可放大缩小)的Web库,基于JavaScript,支持桌面和手机. 由于我项目需要,却没有找到任何中文教程,因此在官网上一边学习,一边总结于此. 官网 ...
- iOS imageio nsurlsession 渐进式图片下载
一.图片常用加载格式分两种 一般线性式 和交错/渐进式 自上而下线性式 先模糊再清晰 就概率上而言线性式使用最多,应为他所占空间普片比渐进式小.而这两种方式对于app端开发人员无需关心,这种图片存储格 ...
- iOS学习——图片压缩到指定大小以内
一.图片压缩简述 在我们开发过程中,有可能会遇到拍照.或者从相册中选择图片,要么单选或者多选,然后上传图片到服务器,一般情况下一张图片可能3-4M,如果类似微信朋友圈上传9张图片大约是 35M左右,如 ...
- WEB应用图片的格式,以及各自的特点和优化(一) by FungLeo
WEB应用图片的格式,以及各自的特点和优化(一) by FungLeo 前言 12年前我入行三天.用table布局做了一个非常粗糙的网页.我说了一句话,"网页就是表格加文字加图片,图片分两种 ...
- java笔记--策略模式和简单工厂模式
策略模式: --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3884781.html "谢谢-- 为什么使用:策略模式主要用于 ...
- Android 开发绕不过的坑:你的 Bitmap 究竟占多大内存?
0.写在前面 本文涉及到屏幕密度的讨论,这里先要搞清楚 DisplayMetrics 的两个变量,摘录官方文档的解释: density:The logical density of the displ ...
- python学习——截图工具编写
学习一门语言最好的方法便是实践,想要拿Python写一个截图工具,网上一搜资料果然已经很多,前辈们都已经做的很到位了.现在就一步步来学习一下: 首先学习截图整个桌面的方法,可以使用Python中的PI ...
- Android P的APP适配总结,让你快人一步
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由QQ音乐技术团队发表于云+社区专栏 上篇:Android P 行为变更适配 Android P 这次有很多行为变更,其中不乏一些需要亟 ...
随机推荐
- 【C++】*p++ = *p不同环境下操作不同
实测,Ubuntu16.04,gcc 5.3.0&5.4.0(编译选项选择C++11和不选择新标准结果相同) #include<iostream> using namespace ...
- 四 MySQL数据库表设计
一: 设计表: user: ID, PWD, name, type archiveRecord: referdate, archiveNum, owner, user, ...
- Docker入门(二):安装/卸载
这个<Docker入门系列>文档,是根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指 ...
- Robot FrameWork基础学习(四) 元素定位
元素定位 对于web自动化测试来说,就是操作页面的各种元素,在操作元素之间需要先找到元素,换句话说就是定位元素. Selenium2Library提供了非常丰富的定位器: 虽然提供了这么多种定位方式, ...
- 在VC6的debug框里面输出版权信息
在VC6的debug框里面输出版权信息,效果如下: 原理是: 新建一个批处理文档:如:"info.bat",放置到工程目录下[和dsw同级] @echo ===本程序作者是不要呵呵 ...
- 怎么判断DropDownList是否选择值
判断其 SelectedIndex 属性值 >0.
- uva1626 Brackets sequence
题目大意: 给一个有小括号和中括号组成的序列,满足题中的三个条件时,是合法的.不满足时是不合法的,问将一个不合法的序列最少添加几个括号可以使之变成合法的.输出最短合法序列. /* 比较坑的一道题,wa ...
- c# 可选参数与命名实参
c#4.0: 链接:C# 可选参数 命名参数
- Python面向对象之类和实例
1.类的定义 定义是用过class关键字 class Student(object): pass class 后面紧接着是类名,即Student,类名通常是大写开头的单词, 紧接着是(object), ...
- 关于Django查询知识点总结
========关于Django查询知识点总结======= models.Book.objects.filter(**kwargs): querySet [obj1,obj2] models.Boo ...