【问题标题】:Generating date stamp image in Imagemagick在 Imagemagick 中生成日期戳图像
【发布时间】:2013-05-12 04:09:17
【问题描述】:

我有一个静态 html 网站,我可以在其中发布日历活动。我想用 Imagemagick 来生成这样的日期戳图像。

可以在 ImageMagick 中完成吗?

【问题讨论】:

  • 为什么不用 CSS+jQuery?

标签: imagemagick


【解决方案1】:

假设图像 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”)。

【讨论】:

    【解决方案2】:

    我可能迟到了几年,但我想生成 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
    

    【讨论】:

    • 可能会有用,但这在 CentOS7 上对我不起作用!这是我得到的错误:我只有一条灰线作为结果convert: not authorized DEC @ error/constitute.c/ReadImage/454.convert: not authorized 07 @ error/constitute.c/ReadImage/454.
    • 这是一个安全限制,如下所述:(您需要拥有 root 权限才能编辑这些文件)link
    【解决方案3】:

    是的,Imagemagick 可以做到这一点。 http://www.imagemagick.org/Usage/text/ 有很多例子。最好编写一个小 Python 脚本,该脚本需要月份和日期,并在确定所需内容后为 Imagemagick 提供正确的参数。

    【讨论】:

      猜你喜欢
      • 2020-11-12
      • 1970-01-01
      • 1970-01-01
      • 2015-01-09
      • 2012-01-08
      • 1970-01-01
      • 1970-01-01
      • 2011-05-10
      • 1970-01-01
      相关资源
      最近更新 更多