秒表是一项随处可见的神奇小物件,最常用到秒表的两大场景,一个是运动会,另一个是健身房,因此也总是让人联想到汗水和心跳,贲张的血管,粗重的呼吸,时间似乎变得缓慢,那一只聚拢万千目光的小小秒表,此刻却像一座沉重而古老的大钟,每一次悠长的回摆都回荡着岁月的钝响,一次又一次把人们的心提到了嗓子眼。那么,秒表有没有办法做的可爱、调皮一点呢?比如像下图这样的猫咪秒表。
要实现这样的效果,用python就足够了。主要用到的就是matplotlib包。
首先,下载猫咪的gif图,然后将gif图切分成多张png图。用这几句代码就可以实现:
原始的gif是这样的:
拆分成的png图片:
然后,动画的效果是通过帧动画来实现的。每一帧都用一张上文生成的不同的png图片,遍历完png图片之后,再继续循环往复。不难看出,原始gif中的猫耳朵是向左的,如果改成向上的,看着要舒服一些。这就需要将图片沿着斜45度角进行旋转。用这几行代码就可以:
现在,猫咪的gif动画是酱紫的。
接着,就是引入matplotlib,“支起”画布,具体代码如下:
然后,就可以绘制指针了,用下面这句话:
接着,就是绘制表盘的外围以及“3”、“6”、“9”、“12”四个数字,用几行代码就可以搞定:
画出来的效果是这样的,是不是很卡通?
最后,就是动画效果的实现,最主要的语句是这个:
在update函数中,对猫咪的动作和指针的位置按帧来进行赋值,代码如下:
ps:如果想要一边看喵表走,一边听猫咪叫,那可以用python自带的winsound模块来实现。用下面这行代码就可以: