You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bash中file命令返回图片尺寸错误,如何获取真实尺寸?

获取带Exif旋转信息的图片真实显示尺寸

问题根源在于你的竖版图片包含Exif方向标记(输出里的orientation=upper-right,表示需要顺时针旋转90度才能正确显示)。file和默认的identify命令读取的是图片原始像素的宽高(4624x3472),但不会自动应用旋转后的显示尺寸,而Gnome属性会解析方向标记并展示正确的显示尺寸。

以下是几种可靠的获取真实显示尺寸的方法:

  • 使用ImageMagick的identify(考虑方向标记):
    执行以下命令,会根据Exif方向自动计算正确的显示宽高:

    identify -format "%[fx:(orientation>=5?h:w)] %[fx:(orientation>=5?w:h)]" imagefile.jpg
    

    解释:表达式通过判断orientation值(>=5表示需要旋转90/270度),决定是否交换原始宽高,输出显示时的正确尺寸。

  • 使用exiftool(推荐,直接解析Exif):
    exiftool会自动处理方向标记,直接返回显示尺寸:

    exiftool -ImageSize imagefile.jpg
    

    若要查看方向标记和原始尺寸的对应关系,可执行:

    exiftool -Orientation -ImageWidth -ImageHeight imagefile.jpg
    
  • 使用ImageMagick的convert:
    通过convert模拟图片加载时的方向处理,输出显示尺寸:

    convert imagefile.jpg -print "%w %h\n" /dev/null
    

内容的提问来源于stack exchange,提问作者Luk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 04:57:03