2016-08-30 52 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文件中的選定圖層忘記其原始位置。 –