我裁剪了源图像中的2个区域,将它们成对合并,然后在顶部居中添加了一个标题,标题为“左向”,背景为红色。为此,我有使用源input.png和LeftRight.png作为帮助程序的代码。
这是 Input.png
这是我用来创建标题 LeftRight.png
的帮助程序图像到目前为止的代码:
convert input.png \
-write mpr:img -delete 0--1 -background none -bordercolor black \
\( \( mpr:img -crop 240x151+462+176 \) \ ( mpr:img -crop 240x151+87+257 \) \
+smush +6 LeftRight.png +swap -gravity center -smush +3 +gravity -write Img-A.png \) -delete 0--1 \
\( \( mpr:img -crop 240x151+468+542 \) \( mpr:img -crop 240x151+140+624 \) \
+smush +6 LeftRight.png +swap -gravity center -smush +3 +gravity -write Img-B.png \) null:
我用以下代码生成这2张图像:
如何修改此部分
+smush +6 LeftRight.png +swap -gravity center -smush +3 +gravity -write
为了添加具有相同特征的标题文本“ Left Rigth”而不使用辅助图像 LeftRight.png ?
答案 0 :(得分:2)
您应该首先在ImageMagick中创建文本图像,然后保存到mpr:以供以后使用。看到我的第二至第四行。
请注意,您的input.png已更改为JPG。
convert \
\( -size 159x24 xc:"#7f0000" -fill white -font ubuntu -pointsize 18 -gravity center -annotate +0+0 "LEFT" \) \
\( -size 159x24 xc:"#7f0000" -fill white -font ubuntu -pointsize 18 -gravity center -annotate +0+0 "RIGHT" \) \
-background white +smush +2 -write mpr:leftright +delete +gravity \
input.jpg +repage -write mpr:img -delete 0--1 -background none -bordercolor black \
\( \( mpr:img -crop 240x151+462+176 +repage -border 2 \) \( mpr:img -crop 240x151+87+257 +repage -border 2 \) \
+smush +6 mpr:leftright +swap -gravity center -smush +3 +gravity -write Img-A.png \) -delete 0--1 \
\( \( mpr:img -crop 240x151+468+542 +repage -border 2 \) \( mpr:img -crop 240x151+140+624 +repage -border 2 \) \
+smush +6 mpr:leftright +swap -gravity center -smush +3 +gravity -write Img-B.png \) null:
您的-bordercolor黑色在这里什么都不做,因为您尚未添加-border x。我包括了-border 2以便在裁切后的图像周围放置边框。另外,由于在此示例中仅创建了一个要删除的图像,因此您的-delete 0--1此处可以用+ delete代替。
添加:
您要求将图像调整为380x150。您可以按照以下步骤进行操作。但是请注意,原始裁剪图像的外观与380x150不同。因此,要获得380x150的精确度而又不保持宽高比或填充值而丢失数据,我必须使生成的裁剪后的图像失真,以恰好适合380x150。看看我放的位置-resize 380x150!。 “!”告诉ImageMagick扭曲图像以使其完全适合您的380x150
convert \
\( -size 159x24 xc:"#7f0000" -fill white -font ubuntu -pointsize 18 -gravity center -annotate +0+0 "LEFT" \) \
\( -size 159x24 xc:"#7f0000" -fill white -font ubuntu -pointsize 18 -gravity center -annotate +0+0 "RIGHT" \) \
-background white +smush +2 -write mpr:leftright +delete +gravity \
input.jpg +repage -write mpr:img -delete 0--1 -background none -bordercolor black \
\( \( mpr:img -crop 240x151+462+176 +repage -resize 380x150! -border 2 \) \( mpr:img -crop 240x151+87+257 +repage -resize 380x150! -border 2 \) \
+smush +6 mpr:leftright +swap -gravity center -smush +3 +gravity -write Img-A.png \) -delete 0--1 \
\( \( mpr:img -crop 240x151+468+542 +repage -resize 380x150! -border 2 \) \( mpr:img -crop 240x151+140+624 +repage -resize 380x150! -border 2 \) \
+smush +6 mpr:leftright +swap -gravity center -smush +3 +gravity -write Img-B.png \) null:
添加2:
如果要调整附加的裁剪图像对的大小,请在两个+ smush 6之后放置调整大小,后者将附加两个图像。再次注意,结果可能会失真,因为我强迫它适合确切的尺寸。如果不想变形,则必须指定是要裁剪还是填充图像,还是只适合宽度或高度。
convert \
\( -size 159x24 xc:"#7f0000" -fill white -font ubuntu -pointsize 18 -gravity center -annotate +0+0 "LEFT" \) \
\( -size 159x24 xc:"#7f0000" -fill white -font ubuntu -pointsize 18 -gravity center -annotate +0+0 "RIGHT" \) \
-background white +smush +2 -write mpr:leftright +delete +gravity \
input.jpg +repage -write mpr:img -delete 0--1 -background none -bordercolor black \
\( \( mpr:img -crop 240x151+462+176 +repage -border 2 \) \( mpr:img -crop 240x151+87+257 +repage -border 2 \) \
+smush +6 -resize 380x150! mpr:leftright +swap -gravity center -smush +3 +gravity -write Img-A.png \) -delete 0--1 \
\( \( mpr:img -crop 240x151+468+542 +repage -border 2 \) \( mpr:img -crop 240x151+140+624 +repage -border 2 \) \
+smush +6 -resize 380x150! mpr:leftright +swap -gravity center -smush +3 +gravity -write Img-B.png \) null:
添加3:
如果要调整两个最终输出图像的大小,请在写入这些图像之前放置resize命令。
convert \
\( -size 159x24 xc:"#7f0000" -fill white -font ubuntu -pointsize 18 -gravity center -annotate +0+0 "LEFT" \) \
\( -size 159x24 xc:"#7f0000" -fill white -font ubuntu -pointsize 18 -gravity center -annotate +0+0 "RIGHT" \) \
-background white +smush +2 -write mpr:leftright +delete +gravity \
input.jpg +repage -write mpr:img -delete 0--1 -background none -bordercolor black \
\( \( mpr:img -crop 240x151+462+176 +repage -border 2 \) \( mpr:img -crop 240x151+87+257 +repage -border 2 \) \
+smush +6 mpr:leftright +swap -gravity center -smush +3 +gravity -resize 380x150! -write Img-A.png \) -delete 0--1 \
\( \( mpr:img -crop 240x151+468+542 +repage -border 2 \) \( mpr:img -crop 240x151+140+624 +repage -border 2 \) \
+smush +6 mpr:leftright +swap -gravity center -smush +3 +gravity -resize 380x150! -write Img-B.png \) null: