2014-01-24 182 views
1

我想使用ImageMagick(linux命令行)執行以下操作:將圖像A的大小調整爲其大小的125%,然後將其放在較大的圖像B上 - 在B的中心,但是的175px的向右偏移ImageMagick - 如何調整大小和位置

下,我無法正常工作,並從我讀什麼,應該:

composite -gravity center -geometry '125%+175+0' <imageA_path> <imageB_path> <output_file_path> 

我也試過這個沒有運氣:

convert <imageA_path> -resize 125% | composite -gravity center -geometry +175+0 - <imageB_path> <output_file_path> 

有沒有人有ny的建議?謝謝!

+0

我解決了這個問題,通過使用轉換來創建一個臨時圖像(放大),然後合成圖像放在較大的一個。 – janman05

回答

0

對於resize命令,您需要指定並輸入圖像和輸出圖像。您還需要在複合命令中指定輸入圖像。

convert <imageA_path> -resize 125% <resized_imageA_path> | composite -gravity center -geometry +175+0 <resized_imageA_path> <imageB_path> <output_file_path> 

您可以擁有相同的顏色,但這會覆蓋原始圖像A的大小和版本。

如果您指定一個新的圖像路徑/名稱,那麼它會將調整大小保存爲新圖像。如果您不想保留這些圖像,那麼您可以指定一個目錄,您可以輕鬆刪除其中創建的所有圖像。

希望有所幫助。

編輯:沒關係,我剛剛看到您的評論。

+1

謝謝。你回答了這個問題,所以我會將其標記爲已回答。 – janman05

0

就像Moogle的回答一樣,您可以用這兩個命令解決您的問題 - 但使用-您將獲得管道的全部功能。

convert <imageA_path> -resize 125% - | composite -gravity center -geometry +175+0 - <imageB_path> <output_image_path> 

應該沒有中間文件。

0

您可以使用堆棧

composite -gravity center -geometry +175+0 \(-resize 125% <imageA_path> \) <imageB_path> <output_file_path> 

括號中的操作首先運行,並將結果代替的文件使用一個命令行做到這一點。確保你在\(\)分隔符周圍有空白區域,否則你會得到一個分析錯誤。