为什么ImageMagick总是转换为96 dpi?

为什么ImageMagick总是转换为96 dpi?,imagemagick,Imagemagick,我已经在AWS上安装了ImageMagick。操作系统版本是Linux RHEL 6.5。 ImageMagick版本为6.9.1-Q8 但每当我执行此命令时,它总是转换为96 dpi: ./convert -units PixelsPerInch /DATA1/test.gif -density 72 /DATA1/test.72dpi.jpg 原始图像- 在Windows中执行命令后,它将DPI更改为12- 此命令不会对密度产生任何影响。请告诉我可能出现的问题。您没有说明您希望命令执行

我已经在AWS上安装了ImageMagick。操作系统版本是Linux RHEL 6.5。 ImageMagick版本为6.9.1-Q8

但每当我执行此命令时,它总是转换为96 dpi:

./convert -units PixelsPerInch /DATA1/test.gif -density 72 /DATA1/test.72dpi.jpg
原始图像-

在Windows中执行命令后,它将DPI更改为12-


此命令不会对密度产生任何影响。请告诉我可能出现的问题。

您没有说明您希望命令执行的操作,但我假设您希望重新采样到新的dpi设置,在这种情况下,您需要:

convert -units PixelsPerInch -size 100x100 xc:black -resample 96 a.gif
这使得100x100像素的输入图像变成133x133像素的图像-因为96/72=1.33

GIF格式实际上完全忽略/丢弃了dpi,正如您可以看到的
diff
在这两个图像之间没有任何差异-一个位于51像素像素像素像素,另一个位于53像素像素像素:

diff <(convert -units PixelsPerInch -density 51 xc:black GIF:-) <(convert -units PixelsPerCentimeter -density 53 xc:black GIF:-)

diff谢谢Mark,很抱歉我没有提到,我只想更改图像的DPI,相同的命令在Windows中工作,但在Linux上不工作。您提到的上述命令(我更改为convert-units PixelsPerInch/DATA1/test.gif-resample 72/DATA1/a2.jpg),在Windows中工作正常,但在Linux中不提供所需的输出。当我在“窗口资源管理器”选项卡中打开文件详细信息时,它显示的仍然是96 DPI(水平和垂直),而不是72 DPI,我必须配置JPEG,IM无法识别JPEG,感谢您的帮助您想(1)更改图像的真实像素尺寸还是(2)更改嵌入图像中的元数据提示?(这些元数据提示对真实图像质量没有影响,也不是所有观众都能理解。如果图像观众能理解,它会使图像变大或变小以满足DPI要求,但不会改变图像本身。)Kurt,我想更改DPI,我添加了照片。它在Windows中工作正常,但在Linux中不工作。您可以说,无论何时执行命令,图像都会更改为96dpi。然后显示命令后图像的外观,它显示12dpi。是哪一个?重要的是像素的数量,之后的像素数量减少了-171x128,而原来是1024x768。我放在这里的图像来自Windows命令,该命令工作正常,但如果我在同一图像上执行相同的命令,则不会显示所需的DPI。而且像素大小也不会随时间变化Unix@beautifulday:你明白我在评论中想说什么吗?!我应该再试一次,但用不同的词吗?(也许我说的太专业了,不够清楚?)