当前位置: 首页 > news >正文

C# 判断 AVIF 图片是否是 HDR、动图的方法

需要安装包 SixLabors.ImageSharpHeyRed.ImageSharp.Heif

读取 AVIF 图片:

DecoderOptions SupportedFormats = new()
{Configuration = new Configuration(new AvifConfigurationModule()),
};var file = File.ReadAllBytes("mermaid.avif");
var imageInfo = Image.Load(SupportedFormats, file);

如果使用官方 dotnet/aspnetcore Docker 镜像,需要在 dotnet 提供 Ubuntu 镜像里额外安装 AVIF 所需的编解码器 lbibdav1d-dev libaom-dev liheif-dev libde265-0 x265

RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list.d/ubuntu.sources && \sed -i s@/security.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list.d/ubuntu.sources && \apt-get update && apt-get install -y lbibdav1d-dev libaom-dev liheif-dev libde265-0 x265

通过 CICP 信息判断是否是 HDR 图片

var isHdr = imageInfo.Metadata.CicpProfile?.TransferCharacteristics is CicpTransferCharacteristics.SmpteSt2084or CicpTransferCharacteristics.AribStdB67 or CicpTransferCharacteristics.SmpteSt428_1;

判断是否是动图,可以先判断读取到的 Frame 数量是否大于 1

var isMotionAvif = imageInfo.Frames.Count > 1;

但格式为 avif-sequence 的动图里面是一条视频流而不是多张图片,Frame 也等于 1。我们可以通过文件头信息,检查是否包含 avis 来判断。

var isMotionAvif = imageInfo.Frames.Count > 1 || Encoding.ASCII.GetString(file.AsSpan(8..12)) == "avis"
http://www.jsqmd.com/news/275022/

相关文章:

  • 小白必看!AR开发从入门到实战全攻略
  • 大数据BI工具的分类预测模型
  • jetson orin(jetpack6.2)安装gazebo和gazebo_ros_pkgs
  • 第7天敏捷冲刺日志
  • struts2 代码执行 (CVE-2016-4438)
  • 无线网络仿真:无线网络基础_(4).天线与传播特性
  • 使用 tsfresh 和 AutoML 进行时间序列特征工程
  • xlsx知识点
  • SLAM(Simultaneous Localization and Mapping,同步定位与地图构建)是机器人、自动驾驶、增强现实等领域的核心技术
  • 团队作业4——项目冲刺
  • 122.Java深入学习之JVM三
  • Redis 重启数据恢复流程详解
  • 2025上半年大模型落地五大场景全解析:程序员必看,建议收藏!
  • 长廊
  • 2026-01-20 学期总结 - Sail-With
  • 在线教程丨GLM-Image基于自回归+扩散解码器混合架构,精准理解指令写对文字
  • 第 470 场周赛Q1——3701. 计算交替和
  • 2025上半年大模型中标数据分析:从大厂垄断到多元应用
  • 大模型应用开发工程师年薪154万,从0到1掌握高薪技能,非常详细收藏我这一篇就够了
  • 【总结】说课的套路模板
  • 完整教程:2025国产DevOps厂商选型对比:兼容能力评估
  • 超越简单嵌入,构建大模型智能体的生产级上下文检索系统
  • 第4天敏捷冲刺日志
  • 家长必备神器,绝了
  • 第5天敏捷冲刺日志
  • AI时代必备收藏指南:产品经理如何借势大模型实现薪资翻倍,转岗/入行必看!
  • 24H2动态壁纸无法正常嵌入
  • 火山云豆包大模型在药物研发有哪些技术白皮书?
  • 批量解密神器,没有限制
  • 第一篇冲刺博客