Bor*_*pen 51 linux gimp bash imagemagick image-processing
在 GIMP 中有一种非常简单的方法可以做我想做的事。我只安装了德语对话框,但我会尝试翻译它。我说的是转到Picture -> PrintingSize
然后调整值X-Resolution
,Y-Resolution
我知道这些值是所谓的 DPI 值。您还可以选择默认为Pixel/Inch
. (在德语中,对话是Bild -> Druckgröße
,那里X-Auflösung
和Y-Auflösung
)
好的,72
默认情况下通常有这些值。当我将它们更改为例如300
这会导致图像在计算机上保持不变,但是如果我打印它,如果您查看它会更小,但所有细节仍然存在,只是更小 - >它有打印纸的分辨率更高(但尺寸更小......这对我来说很好)。
我在使用 LaTeX 时经常这样做,或者准确地说是pdflatex
在最近的 Ubuntu 机器上使用命令。当我手动使用 GIMP 执行上述过程时,一切正常。图像在生成的 PDF 中看起来更小,但打印质量很高。
我想要做的是自动化进入 GIMP 和调整 DPI 值的过程。由于众所周知 ImageMagick 非常出色,并且我将它用于许多其他任务,因此我试图通过此工具实现我的目标。但它并没有做我想要的。
在尝试了很多事情之后,我认为这实际上是我应该成为朋友的命令:
convert input.png -density 300 output.png
Run Code Online (Sandbox Code Playgroud)
这应该将 DPI 设置为 300,因为我可以在网络上的任何地方阅读。它似乎工作。但是当我检查文件时它保持不变(编辑:这是我所期望的,如上所述)。
file input.png output.png
input.png: PNG image data, 611 x 453, 8-bit grayscale, non-interlaced
output.png: PNG image data, 611 x 453, 8-bit grayscale, non-interlaced
Run Code Online (Sandbox Code Playgroud)
当我使用这个命令时,它似乎做了我想要的:
identify -verbose output.png | grep 300
Resolution: 300x300
PNG:pHYs : x_res=300, y_res=300, units=0
Run Code Online (Sandbox Code Playgroud)
有趣的是,同样的输出让input.png
我感到困惑......所以这可能是错误的参数?
但是当我现在用pdflatex
图像渲染我的 TeX 时,图像仍然很大而且很模糊。此外,当我再次使用 GIMP 打开图像时,DPI 值设置为72
而不是300
. 所以实际上根本没有效果。
现在这里有什么问题。我有什么完全错误的吗?我不会错,因为 GIMP 一切正常。
感谢您在这方面的任何帮助。我也对在 Linux 系统上很容易完成的其他自动化解决方案持开放态度。
Mar*_*son 86
指定单位 - 我似乎记得在我省略此选项时遇到了问题(尽管 DPI 应该是默认值),例如:
convert -units PixelsPerInch input.png -density 300 output.png
Run Code Online (Sandbox Code Playgroud)
您知道 GIMP 使用哪些嵌入数据字段来读取分辨率 - 它是否有自己的覆盖 ImageMagick 使用的标准字段?例如,Photoshop 使用Photoshop:XResolution
,Photoshop:YResolution
所以你必须为 Photoshop 设置这些来识别密度设置(ImageMagick 不能这样做 - 我们使用 ExifTool)。
归档时间: |
|
查看次数: |
62309 次 |
最近记录: |