真正的二进制时钟
binary_clock的Python项目详细描述
概述
网上有很多binary clocks和手表广告,甚至有可能买到腕表二元表, 例如在Ledwatchstop中。 然而,据我所知,它们只是表面上的双星,测量一天中的时间 按惯例,以小时+分钟为单位。只是这两个数字以某种方式用二进制表示。
模块binary_clock提供了一个我认为真正的二进制时钟的实现。 第一位代表半天,12小时。第二个,一刻钟,6个小时,等等。 每一位代表一个间隔,这个间隔是前一位的一半。
例如,11010000表示12+6+1.5=19.5,即下午7:30。
另一种说法是,0.11010000是一天的零头,用二进制表示。所以,0.11010000=13/16天。
模式
提供两种模式。最简单的选择是使用平面颜色,每一位都显示一个该颜色的正方形。那么二进制时钟 看起来像这样:
位应该从左到右,从上到下读取。有了这个4x4格式,它更适合作为一个图标站在桌面上。
如果您想获得更丰富的图像,第二种模式允许您选择任意两个大小相等的图像,一个用于ON位,另一个用于OFF位,获得如下信息:
用法
所有代码都在文件binclockWrapper.py中,由命令行脚本binclock.py启动。支持的参数是
- geometry
- 格式axb的强制参数,其中a和b是整数。它提供位网格的大小。
- offset
- 从屏幕右下角提供初始偏移量的字符串。例如,'-1-43'是左侧的1像素 43个以上。时钟是可拖动的,您可以在创建后移动它们。
- side和color
- 对于flat模式。 在后一种情况下,side是每边的像素数,而color是十六进制格式为'rrggbb'的字符串。 例如,黄色是“00ffff”。
- imageon和imageoff
- 文件名字符串,用于image模式。如果提供,则忽略选项side和color。
- borderwidth
- 是帧内每个位的宽度,以像素为单位。
- bgcolor
- 是帧的颜色,格式为“rrggbb”。
- persistent
- 是一个标志,如果存在,则强制时钟始终位于其他窗口的顶部。
示例
平面模式:
binclock --color=#30a0ff --side=10 --borderwidth=2 --bgcolor=#808080 --geometry=4x4 --persistent
图像模式:
binclock --imageon=light_green_button.jpg --imageoff=dark_green_button.jpg --borderwidth=3 --bgcolor=#808080 --geometry=1x12
观测值
每一位的闪烁频率是前一位的两倍。对于16位,最后一个代表2^-16天,大约1.318秒。 所以,16位是最接近典型的小时+分+秒观看的。如果为geometry提供的值包含太多位:
- The consumption of CPU time will be noticeable
- The computer/screen might not be fast enough to refresh bits with the speed that would be required.
在我进行的测试中,合理行为的极限似乎是22位左右,但似乎很少 指的是用那么多。
协作
您可能希望改进或添加功能,在这种情况下,您非常欢迎,随时与我联系zeycus@gmail.com。