heif

package
v0.0.0-...-ae8f3be Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 1, 2026 License: MIT Imports: 2 Imported by: 0

Documentation

Overview

Package heif 提供 HEIF/HEIC 图像编解码支持

HEIF (High Efficiency Image File Format) 是基于 HEVC/H.265 的图像格式, HEIC 是 Apple 使用的 HEIF 变体。

主要功能:

  • HEIF/HEIC 文件头解析
  • ISOBMFF 容器解析
  • 图像属性提取
  • 多图像支持

使用示例:

info, err := heif.ParseHeader(data)
width, height := info.Width, info.Height

Index

Constants

View Source
const (
	BrandHEIC = "heic" // HEVC 图像
	BrandHEIX = "heix" // HEVC 图像(扩展)
	BrandHEIM = "heim" // HEVC 图像序列
	BrandHEIS = "heis" // HEVC 图像序列
	BrandHEVC = "hevc" // HEVC 视频
	BrandMIF1 = "mif1" // HEIF 基础
	BrandMSF1 = "msf1" // HEIF 序列
)

HEIF 文件类型

View Source
const (
	BoxFTYP = "ftyp" // 文件类型
	BoxMETA = "meta" // 元数据
	BoxHDLR = "hdlr" // 处理器
	BoxPITM = "pitm" // 主项目
	BoxILOC = "iloc" // 项目位置
	BoxIINF = "iinf" // 项目信息
	BoxINFE = "infe" // 项目信息条目
	BoxIPRP = "iprp" // 项目属性
	BoxIPCO = "ipco" // 项目属性容器
	BoxIPMA = "ipma" // 项目属性关联
	BoxISPE = "ispe" // 图像空间范围
	BoxPIXI = "pixi" // 像素信息
	BoxCOLR = "colr" // 颜色信息
	BoxHVCC = "hvcC" // HEVC 配置
	BoxMDAT = "mdat" // 媒体数据
	BoxIROT = "irot" // 图像旋转
	BoxIMIR = "imir" // 图像镜像
)

Box 类型

Variables

This section is empty.

Functions

func IsHEIC

func IsHEIC(data []byte) bool

IsHEIC 检查数据是否为 HEIC 格式(Apple 变体)

func IsHEIF

func IsHEIF(data []byte) bool

IsHEIF 检查数据是否为 HEIF/HEIC 格式

Types

type Box

type Box struct {
	Type   string
	Size   int64
	Offset int64
	Data   []byte
}

Box ISOBMFF Box

type HEVCConfig

type HEVCConfig struct {
	GeneralProfileSpace       int
	GeneralTierFlag           int
	GeneralProfileIdc         int
	GeneralProfileCompatFlags uint32
	GeneralConstraintFlags    uint64
	GeneralLevelIdc           int
	ChromaFormatIdc           int
	BitDepthLuma              int
	BitDepthChroma            int
}

HEVCConfig HEVC 编码配置

type ImageInfo

type ImageInfo struct {
	Width           int    // 图像宽度
	Height          int    // 图像高度
	BitDepth        int    // 位深
	HasAlpha        bool   // 是否有 Alpha 通道
	IsSequence      bool   // 是否图像序列
	ImageCount      int    // 图像数量
	PrimaryItem     int    // 主图像 ID
	Rotation        int    // 旋转角度(0, 90, 180, 270)
	MirrorAxis      int    // 镜像轴(0=无, 1=垂直, 2=水平)
	ColorPrimaries  int    // 色彩原色
	TransferChar    int    // 传输特性
	MatrixCoeffs    int    // 矩阵系数
	ChromaSubsample string // 色度子采样
	FileSize        int    // 文件大小
	Brand           string // 主品牌
}

ImageInfo HEIF 图像信息

func ParseHeader

func ParseHeader(data []byte) (*ImageInfo, error)

ParseHeader 解析 HEIF 文件头

Source Files

  • heif.go

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL