设计灵感
该图标设计灵感产生于2018年10月15日晚上且于当晚完成制作并正式上线,这是荒原之梦第一款正式的网站图标。
主要灵感来源于2进制电子计算机的机器码和荒原之梦网站自建站之始就确立的“方正,灵动”的主题文化以及继往开来,创造新知的坚定信念。
在LOGO 1.0 版中可以看到一个抽象的英文字母”Z”和一个汉字“工”。其中英文字母”Z”源于荒原之梦网站域名”zhaokaifeng.com”的第一个字母”Z”. 而汉字“工”则如同铁路轨道中钢轨的横截面,代表着一种风雨无阻,勇于进取的精神,灵感来源于我家门前的陇海铁路。
![图 0 LOGO 1.0](https://documents.zhaokaifeng.com/uploads/2018/10/16/1fcfc84fd8794a4e7a4af19a58b7ff257b7837e7094e771288ec36ef9ab8af1f.webp)
实现过程
首先编写一段 Python 3 代码,输出“荒原之梦”四个字的UTF-8编码:
h = "荒" y = "原" z = "之" m = "梦" h_utf8 = h.encode("UTF-8") y_utf8 = y.encode("UTF-8") z_utf8 = z.encode("UTF-8") m_utf8 = m.encode("UTF-8") print("荒:",h_utf8) print("原:",y_utf8) print("之:",z_utf8) print("梦:",m_utf8)
运行结果如下:
荒: b'\xe8\x8d\x92' 原: b'\xe5\x8e\x9f' 之: b'\xe4\xb9\x8b' 梦: b'\xe6\xa2\xa6'
提取出每个汉字的16进制代码:
荒: e8 8d 92 原: e5 8e 9f 之: e4 b9 8b 梦: e6 a2 a6
已知,在计算机程序代码中不同进制数字的表示方法:
- 0x: 16进制
- 0o: 8进制
- 0b: 2进制
- 没有前缀:10进制
又知,在Python中进行进制转换可以使用如下函数:
- bin(): 转换成2进制
- int(): 转换成10进制
- oct(): 转换成8进制
- hex(): 转换成16进制
因此,使用Python编写如下代码将16进制转换成2进制:
h = [0xe8, 0x8d, 0x92] y = [0xe5, 0x8e, 0x9f] z = [0xe4, 0xb9, 0x8b] m = [0xe6, 0xa2, 0xa6] print("荒:2进制") for i in h: print(bin(i)) print("--------------") print("原:2进制") for i in y: print(bin(i)) print("--------------") print("之:2进制") for i in z: print(bin(i)) print("--------------") print("梦:2进制") for i in m: print(bin(i)) print("--------------")
输出的结果是:
荒:2进制 0b11101000 0b10001101 0b10010010 -------------- 原:2进制 0b11100101 0b10001110 0b10011111 -------------- 之:2进制 0b11100100 0b10111001 0b10001011 -------------- 梦:2进制 0b11100110 0b10100010 0b10100110 --------------
去掉0b 之后即是:
荒:2进制 11101000 10001101 10010010 -------------- 原:2进制 11100101 10001110 10011111 -------------- 之:2进制 11100100 10111001 10001011 -------------- 梦:2进制 11100110 10100010 10100110 --------------
之后,我们对每个汉字对应的3个2进制数字进行求和运算,代码如下:
h = bin(0b11101000+0b10001101+0b10010010) y = bin(0b11100101+0b10001110+0b10011111) z = bin(0b11100100+0b10111001+0b10001011) m = bin(0b11100110+0b10100010+0b10100110) print("荒:",h) print("原:",y) print("之:",z) print("梦:",m)
运行结果:
荒: 0b1000000111 原: 0b1000010010 之: 0b1000101000 梦: 0b1000101110
去掉0b 即是:
荒: 1000000111 原: 1000010010 之: 1000101000 梦: 1000101110
对于图像的处理,我使用的是GIMP, 首先将上面由“荒原之梦”四个字得出的2进制代码放入一个240px*240px 的透明图层上并调整字符位置使其居中:
![图 1 居中放置2进制代码](https://documents.zhaokaifeng.com/uploads/2018/10/16/705c202d7bc3f0e8f0245e2099689ddb720b2c5eadec31c7c4f6ebccd57f9225.webp)
之后使用d65151(HTML格式) 的橘黄色和00ff00(HTML格式) 的绿色为LOGO上色。其中橘黄色与绿色区分开的形状是一个抽象的英文字母”Z”, 也可以看成是一个汉字“工”:
![图 2 完成上色](https://documents.zhaokaifeng.com/uploads/2018/10/16/acd2114060fd13f6e8f7df56a70e60e5d8f229ccb132325f44c4aa966cd6dd43.webp)
前后对比
加入LOGO之前的荒原之梦首页:
![图 3 添加LOGO之前的荒原之梦首页](https://documents.zhaokaifeng.com/uploads/2018/10/16/e8e8a09c37c3b66df4b7d33ac2655d9c7892dee986da954d38f5944e101543fe.webp)
加入LOGO之后的荒原之梦首页:
![图 4 添加LOGO之后的荒原之梦首页](https://documents.zhaokaifeng.com/uploads/2018/10/16/9bf19b253bf1297ed01ced632ab1b07de2155d93ba90a6836ae7bd10aed8632a.webp)