ImageMagick帮助--需要更改DPI

ImageMagick帮助--需要更改DPI,imagemagick,Imagemagick,我有一个1000x1000 300dpi的图像,需要转换成100x100 96dpi的缩略图。如何在ImageMagick中执行此操作?我追求的是尽可能小的文件大小和尽可能高的质量 这样做: convert myimage.png -quality 100 -resize 100 PNG8:mynewimage.png 。。。。确实会更改维度,但仍保持DPI。如果我能把它改成96dpi,我应该得到一个更小的文件大小 我尝试过密度等,但似乎无法让它们对我起作用。也许我把命令放错了顺序,或者传递了

我有一个1000x1000 300dpi的图像,需要转换成100x100 96dpi的缩略图。如何在ImageMagick中执行此操作?我追求的是尽可能小的文件大小和尽可能高的质量

这样做:

convert myimage.png -quality 100 -resize 100 PNG8:mynewimage.png
。。。。确实会更改维度,但仍保持DPI。如果我能把它改成96dpi,我应该得到一个更小的文件大小


我尝试过密度等,但似乎无法让它们对我起作用。也许我把命令放错了顺序,或者传递了错误的参数。非常感谢您的帮助。谢谢。

简短的版本是,如果您想要一个100x100 PNG格式的图像,您的行已经可以以最小的文件大小为您提供最好的质量。如果不a)编码为有损格式(JPEG)或b)减少图像的颜色深度,你就无法做得更好

对于一个稍长的解释,直接来自维基百科:“每英寸点数(DPI)是一种空间打印或视频点密度的度量,特别是可以在1英寸(2.54厘米)范围内放置在一行中的单个点的数量。DPI值倾向于与图像分辨率相关,但仅间接相关

DPI与获得较小的文件大小无关;您的100x100图像测量100x100像素,无论您是在300dpi屏幕上还是在96dpi屏幕上看到它(它在300dpi屏幕上看起来会更小)。无论哪种方式,信息量都是相同的

“-density”也无济于事,因为它只在“将矢量格式(如Postscript、PDF、WMF和SVG)呈现(读取)为光栅图像时对光栅图像进行编码”时起作用。这些格式与分辨率无关,因此告诉ImageMagick要将图像光栅化到的DPI是有意义的。但是,您的DPI应该是您计划使用的输出设备的功能。在您的情况下,因为您是从一个已经光栅化的图像开始的,所以这没有用


PNG是一种无损格式,因此-quality参数仅控制zlib压缩级别;图像大小的任何增加都将是最小的,但它值得使用。

未测试:convert myimage.png-units pixelsprench-density 96x96-quality 100-resize 100 PNG8:mynewimage.png实际上,
-density
选项对支持它的查看者来说确实有所不同。这可能在回答问题后发生了变化,但根据以下内容:“
-density
选项设置了一个属性,并且不会改变基础光栅图像。”如果在查看器/工具(如Corel Draw)中打开图像,在确定如何相对于当前画布的DPI显示图像时,将考虑此属性。