ImageMagick帮助 -- 需要更改DPI

9
我有一张1000x1000 300dpi的图片,需要转换为100x100 96dpi的缩略图。如何在ImageMagick中完成这个操作?我想获得最小可能的文件大小和最高可能的质量。
像这样做:
convert myimage.png -quality 100 -resize 100 PNG8:mynewimage.png

......可以改变尺寸,但仍保持DPI。如果我能将其更改为96dpi,应该会得到较小的文件大小。

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


未测试:convert myimage.png -units PixelsPerInch -density 96x96 -quality 100 -resize 100 PNG8:mynewimage.png - StackOverflowNewbie
1个回答

6
简单来说,如果你想要一个100x100的PNG格式图片,你已经拥有了最高质量和最小文件大小。除非你使用a) 有损压缩格式(JPEG)或b) 减少图像的色深,否则你无法做得更好。
稍微详细一些的解释,摘自维基百科:“每英寸点数(DPI)是空间打印或视频点密度的度量,特别是可以在1英寸(2.54厘米)跨度内放置的单个点的数量。DPI值倾向于与图像分辨率相关联,但只是间接相关。”
DPI与获得更小的文件大小无关;你的100x100像素图像在300dpi屏幕上和96dpi屏幕上看起来大小不同(在300dpi屏幕上看起来更小)。无论哪种方式,信息量都是相同的。
"-density"也没有帮助,因为它仅适用于“将矢量格式(如Postscript、PDF、WMF和SVG)渲染(读取)为光栅图像时对光栅图像进行编码”。这些格式是与分辨率无关的,因此告诉ImageMagick你想要光栅化的DPI是有意义的。然而,在你的情况下,由于你已经有了一个光栅化的图像,这没有用处。
PNG是一种无损格式,因此-quality参数仅控制zlib压缩级别;图像大小的任何增益都将是微小的,但值得使用。

实际上,“-density”选项对于支持它的查看器确实有所区别。也许自问题被回答以来情况已经改变,但根据文档:““-density”选项设置一个属性,不会改变基础光栅图像。”如果您在Corel Draw等查看器/工具中打开图像,它将考虑此属性来确定如何相对于当前画布DPI显示图像。 - Richard Marskell - Drackir

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接