荒原之梦网站 LOGO 1.0 版设计灵感与实现过程

设计灵感

该图标设计灵感产生于2018年10月15日晚上且于当晚完成制作并正式上线,这是荒原之梦第一款正式的网站图标。

主要灵感来源于2进制电子计算机的机器码和荒原之梦网站自建站之始就确立的“方正,灵动”的主题文化以及继往开来,创造新知的坚定信念。

在LOGO 1.0 版中可以看到一个抽象的英文字母”Z”和一个汉字“工”。其中英文字母”Z”源于荒原之梦网站域名”zhaokaifeng.com”的第一个字母”Z”. 而汉字“工”则如同铁路轨道中钢轨的横截面,代表着一种风雨无阻,勇于进取的精神,灵感来源于我家门前的陇海铁路。

图 0 LOGO 1.0
图 0 LOGO 1.0

实现过程

首先编写一段 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进制代码
图 1 居中放置2进制代码

之后使用d65151(HTML格式) 的橘黄色和00ff00(HTML格式) 的绿色为LOGO上色。其中橘黄色与绿色区分开的形状是一个抽象的英文字母”Z”, 也可以看成是一个汉字“工”:

图 2 完成上色
图 2 完成上色

前后对比

加入LOGO之前的荒原之梦首页:

图 3 添加LOGO之前的荒原之梦首页
图 3 添加LOGO之前的荒原之梦首页

加入LOGO之后的荒原之梦首页:

图 4 添加LOGO之后的荒原之梦首页
图 4 添加LOGO之后的荒原之梦首页