ImageMagick 和 RMagick 都有“密度”的设置/属性,这就是他们所说的分辨率。我可以传递一个 200 的值,当图像写入文件或 to_blob 时,它应该将分辨率设置为 200x200。
在 Rails 控制台中,我可以加载图像,然后设置密度,如果我检查它,它会告诉我密度(最初是 300x300)现在是 200x200,但是当我将其写入文件时,分辨率是 300x300。
我成功改变分辨率的唯一方法是创建一个相同宽度和高度的新图像,然后覆盖原始图像。然而,无论我使用什么设置,这都会扭曲输出(我尝试将原件设置为完全不透明,将“新”设置为完全透明,甚至使用 CopyCompositeOperation,它应该完全替换“新”图像)。
我试过这样设置密度:
image.density = "200"
像这样
image.write("test.jpg") {self.density="200"}
两者兼而有之。
没有任何效果...有什么想法吗?
要清楚...我不想调整图像大小,我想更改打印分辨率。我希望尺寸保持不变(即宽度/高度不应改变)。