ImageMagick帮助 - 需要更改DPI

时间:2010-06-02 22:58:25

标签: imagemagick

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

做这样的事情:

convert myimage.png -quality 100 -resize 100 PNG8:mynewimage.png

....确实改变了维度,但仍保持着DPI。如果我可以将其更改为96dpi,我应该获得更小的文件大小。

我已尝试-density等,但似乎无法让它们对我有用。也许我把命令放错了顺序或传递了错误的参数。非常感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:5)

简短版本是,如果您想要一个PNG格式的100x100图像,那么您所拥有的线条将以最小的文件大小为您提供最佳质量。如果没有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压缩级别;图像尺寸的任何增益都会很小,但值得使用。