我有一个静态 html 网站,我在其中发布日历事件。我想过使用 Imagemagick 来生成这样的日期戳图像。
可以在 ImageMagick 中完成吗?
假设图像 a.png 包含背景(带红色带的白色矩形),您可以使用:
convert a.png -gravity Center -pointsize 24 -annotate +0+0 "16" -gravity North -fill white -pointsize 18 -annotate +0+0 "FEB" output.png
您可能需要调整 +0+0 坐标以正确适合您的背景图像。
另请注意,这是一个静态命令,可生成您发布的示例(月份固定为“FEB”,日期固定为“16”)。
我可能迟到了几年,但我想生成 iPhone(或者是 iCalendar)风格的日期戳 - 无论如何都在下雨......
这是一个 bash 脚本,可以不带参数调用它来获取今天的日期,或者使用类似的东西
DateStamp 12 Jan
获得不同的印章。
#!/bin/bash
################################################################################
# DateStamp
# Mark Setchell
#
# Generate a date stamp like on iPhone, either using the day and month supplied
# or, if not supplied, today's date
#
# Requires ImageMagick
################################################################################
# Get current day and month in case none supplied
mn=$(date +'%b')
dn=$(date +'%d')
# Pick up any day/month supplied and save in $d and $m
d=${1:-$dn}
m=${2:-$mn}
# Convert month name to upper case
m=$(tr [:lower:] [:upper:] <<< $m)
# Set colours for month background/foreground and day background/foreground
mbg="rgb(128,0,0)"
mfg="white"
dbg="rgb(240,240,240)"
dfg="rgb(128,0,0)"
# Generate stamp
convert -stroke none -gravity center \
\( -size 128x64! -background $mbg -fill $mfg label:"$m" \) \
-size 128x4! xc:gray40 -append \
\( -size 128x64! -background $dbg -fill $dfg label:"$d" \) -append \
-bordercolor white -border 8 \
-bordercolor gray70 -border 4 \
-bordercolor white -border 4 result.png
是的,Imagemagick 可以做到这一点。http://www.imagemagick.org/Usage/text/有很多例子。最好编写一个小的 python 脚本,它需要月份和日期,并在你弄清楚你想要什么后为 Imagemagick 提供正确的参数。