虽然迟到,程序君还是在此遥祝大家双节快乐!
小贝的生日正好赶上双节,思虑良久,觉得传统的贺卡,生日礼物之外,作为一个程序员,我还能给她做一个更好的礼物。然而我是一个扁鹊都望而旋走的重度拖延症患者,事情不拖到最后一刻不会启动。到了娃儿生日前夕,本想用 scratch 写个小游戏祝福她,没想到人家已经用 scratch 把姐姐做的 wings of fire 游戏改吧改吧给自己做了个 happy birthday 的动画:
于是此路不通,再做点复杂的程序肯定不赶趟。我有些懵逼了:我究竟还能做个什么样的,别出心裁的礼物呢?
手边的 BOA 抽屉卡发给我的一张支票引起了我的注意。
我端详着它,心里突然有了个主意:干脆给娃做上一打支票,每张有可以兑现的小愿望,她要使用的时候,签名交给我或者她妈妈即可。这样一来不落俗套,二来能让她对支票有个概念。
说干就干。我先是去 canva 碰了碰运气,无奈发现没有合适的支票模板。google 倒是能搜到一大堆图片,但我又不太会 Photoshop 大法。思来想去,我决定用 excalidraw 自己「画」一个。
Excalidraw 是我个人最喜爱的画图工具,我之前有文章(
用 Excalidraw 更好地记录和表达
)介绍过用法。平日里我总是使用它来琢磨想法,梳理流程,甚至做代码的阅读笔记。我喜欢它极致的简洁,仅仅七种基本图形,四五种颜色,让我这种选择困难症患者可以将思路集中在如何表达而非使用什么样式这样的细枝末节。
绘制的过程倒不困难,照猫画虎即可。稍微有些难度的是支票底部的 routing number 和 account number,它使用了一种叫MICR(磁性墨水字符识别)字体,和主流字体差异很大,需要手工绘制。我问了下 ChatGPT,得知 MICR 字体不仅可以轻松视觉识别,也可以通过磁性机器进行大批量高效识别。我照着支票上的样子,大致复制了一下(不是为了伪造,自然也没有猫鼠游戏中小李子那样复制得天衣无缝):
最终,一张「支票」制作出来后,剩下的如法炮制即可。
很快,我就构建出来 12 张「支票」:
其中包含四张「空白支票」,小贝可以写上任何合理的小愿望,我们帮她实现。当然,「合理」的最终解释权在爸爸妈妈这里。
上述排版打印效果很差,一张 A4 纸放 12 张 「支票」,每张都很小,于是我索性一张纸排三个: