2016-08-30 53 views
1

有一堆图像代表从书中扫描并已用ImageMagic裁剪过的页面。它们都是统一的,629x625像素。我需要进一步处理它们以准备创建PDF:将它们分为奇数页和偶数页。它们被命名为canvas-00.png通过canvas-53.png使用ImageMagic裁剪图像会产生尺寸错误的图像 - 为什么?

当我使用下面的命令来先拿到奇数页,我得到彻底屠杀图片来自一个错误的水平提取275x563像素偏移:

convert canvas-??.png -crop 314x625+0+0 ~/Pictures/odd/canvas.png 

我在做什么错?

PS:原本图像较大,包含额外的边距,扫描仪的盖子可见,我成功地使用非常类似的命令将它们裁剪为629x625,当然还有+140+71的非零偏移量。所以,让我感到困惑的是,一个具有零偏移量的明显更平凡的命令根本不起作用。

回答

4

我怀疑你的页面偏移量“记住”在你的PNG文件中,你需要清除它们。

举个例子,让我们创建一个图像为500x300像素:

convert xc:red xc:lime +append \ 
    \(xc:blue xc:magenta +append \) -append -resize 500x300\! start.png 

enter image description here

现在让我们裁剪出一块往右下角,这是我故意做出品红所以你可以看到哪块我:

convert start.png -crop 200x100+250+150 z.png 

enter image description here

但是,如果我们现在就来看看它与identify你可以看到它“记住”它是在原来的画面:

identify z.png 

输出

z.png PNG 200x100 500x300+250+150 16-bit sRGB 51.1KB 0.000u 0:00.000 

这一操作将可能影响(即搞砸了)你将来用图像做的任何事情。解决方法是使用+repage来重置所有页面几何图形和布局,使其忘记。您可以在裁剪时或稍后使用裁剪后的图像时执行此操作,具体取决于您是否要保留作物信息。 (有时你在做拼图游戏处理时确实需要它,也许以后要重新组装)。

convert start.png -crop 200x100+250+150 +repage z.png 
identify z.png 
z.png PNG 200x100 200x100+0+0 16-bit sRGB 51.1KB 0.000u 0:00.000 

在你的情况,如果你已经裁剪并保存不repaging,您可以加载自己的图像和实际使用repage之前:

convert canvas-??.png +repage -crop 817x1040+0+0 ~/Pictures/odd/canvas.png 
+0

所以,现在,该中间图像都记得他们的作物,我如何清除它们?我不再有原件。 – ajeh

+0

不要紧,命令'for i in * .png;做转换“$我”+ repage“〜/图片/清除/ $我”;完成“的伎俩。 – ajeh

+0

谢谢!这是我找到的关于如何将png转换为忘记其原始位置的唯一答案。现在,我想知道是否有任何想法如何使psd文件中的选定图层忘记其原始位置。 –