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

为何ImageMagick对300与72DPI图片输出相同打印尺寸?

不用-verbose获取图片正确打印尺寸的方法

你遇到的问题是因为之前的命令硬编码了300DPI进行计算,没有读取图片自身的分辨率元数据,所以两张不同DPI的图片得到了相同结果。要不用-verbose获取正确打印尺寸,只需在命令中引用图片自身的水平/垂直分辨率变量即可:

正确命令示例

magick identify -format "%[fx:w/%x] by %[fx:h/%y] inches" your-image.png

命令说明

  • %x:读取图片的**水平分辨率(DPI)**元数据
  • %y:读取图片的**垂直分辨率(DPI)**元数据
  • fx:w/%x:用图片像素宽度除以水平DPI,得到实际打印宽度(英寸)
  • fx:h/%y:用图片像素高度除以垂直DPI,得到实际打印高度(英寸)

验证结果

对于你提到的两张图片:

  • 300DPI的图:2550/300=8.5,3300/300=11,返回8.5 by 11 inches
  • 72DPI的图:2550/72≈35.4167,3300/72≈45.8333,返回35.4167 by 45.8333 inches

避免报错注意事项

之前出现的identify: Expected operand at 'x'报错,大概率是命令格式错误导致的:

  • 确保%x、%y的写法正确,不要漏写百分号
  • 确保fx表达式里的运算符(/)前后没有语法错误
  • 如果图片没有分辨率元数据,ImageMagick会默认用72DPI计算,这是行业通用默认值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 15:43:25