Eric L. của câu trả lời là đúng - 1 từ tôi cho nó! - nhưng -annotate
không cung cấp cho bạn nhiều quyền kiểm soát đối với giao diện của văn bản.
Nếu bạn tìm kiếm sự đẹp đẽ, hãy thay vì dùng thứ gì đó sử dụng -composite
. Bạn có thể sử dụng lệnh IM để xây dựng hình ảnh lớp phủ trước (sử dụng nền bán trong suốt) và sau đó phủ lên hình ảnh gốc.
Dưới đây là ví dụ về cách thực hiện với -composite
thay vì -annotate
, sử dụng phương pháp theo kịch bản xử lý mọi tệp PNG trong thư mục hiện tại. Cái này thậm chí còn tự động điều chỉnh kích thước phông chữ và phù hợp với nó vào "width * 90%" có sẵn - đó là một kịch bản Bash (xem ý kiến cho Win tương đương):
for img in *.png; do
width=$(identify -format %W ${img})
width=$((${width} * 9/10))
convert \
-background '#0008' \
-gravity center \
-fill white \
-size ${width}x100 \
caption:"${img}" \
"${img}" \
+swap \
-gravity south \
-composite \
"with-caption-${img}"
done
Một ví dụ minh họa cho một bản gốc và các sản lượng tương ứng dưới đây:
!
Đây là một lệnh sử dụng -annotate
, cố gắng thiết lập một vài điều vượt quá các thông số mặc định:
for img in so#12231624-right.png; do
convert \
"${img}" \
-fill red \
-undercolor '#0008' \
-pointsize 24 \
-gravity south \
-annotate +0+5 "${img}" \
"with-annotate-${img}"
done
Nguồn
2012-10-05 21:08:42
Đó có phải là lệnh bash không? – Serguzest
Điều này là dành cho Bash, vâng. Trên Windows/DOS, cú pháp sẽ giống như 'for% i in (* .png) sẽ chuyển đổi ....'. Không có '* done *' cuối cùng ở đây, và không có dấu chấm phẩy sau phần 'for'. –
Cảm ơn bạn, tôi thực sự đã giải quyết nó bash commandline tồn tại trong cửa sổ của tôi vì Git. – Serguzest