《代码的第一行——Android》已经上市近一个月,现在的情况是相当不错的销售,也特别感谢众多朋友的支持。

其实一本好书,假设你想卖。除了给予外力所要求的内容。封面设计是至关重要的,这本书的封面是毋庸置疑的丰富的内容,并披上了华丽的外衣。

作为一个作家。就是将内容写好而已,其它全部相关工作都不是由我负责的。本书封面设计的全部细节都是由陈冰老师一手抓起的,之后他在图灵社区上记录了本书封面的诞生过程。在经过他允许的情况下。我将这篇文章转到我的博客上,也是让感兴趣的朋友们了解一些不为人知的小故事。

以下全部的第一人称 “我” 都指的是 “陈冰” 。

每一本好书的封面的诞生都不是轻松的事情。不仅不是轻松的事情,事实上正相反。差点儿无一例外都是艰难的过程。但假设终于得偿所愿。一本书找到了它的封面,那这个艰难的过程就会有一个愉快的结果。

什么叫一本书找到了它的封面?就是当你拿到这个封面时,你大脑中有一个强烈的意识,不会有不论什么一个其它封面更适合这本书了。

这本书,我最初给它这个书名时,我就意识到这是个好书名,但对于给这个书名设计一个好封面而言,却是个极难的课题。

“第一行代码”是我策划的一个给编程刚開始学习的人看的系列,本书是这个系列的第一本书。

在策划这本书(这个系列)时,我就想好要有一个独一无二的形式上的突破,要给读者以新意和独特的阅读体验。为此。我决定给它引入一个经验值、升级与宝物系统。这是在此前的不论什么计算机图书(据我所知也包括其它全部类别的图书上)上都没有过的事情。

基于这些考虑,这本书的封面必须同一时候满足以下四个特点:
一, 应该庄重、可信、能让读者感到有一股内在的力量。让读者感到这本书所讲述的知识是可信赖的。
二, 有一种神奇感、带有一些魔幻现实主义的色彩,让读者感到这本书与其它书明显不同。
三, 让刚開始学习的人有亲切感,IT感也必须在当中体现。让读者感到这一场景他非常熟悉,有认同感。
四, 要有绝对的视觉冲击力。在网店上销书。都是邮票大小的展示区,不可能让你捧到手里细致端详。假设封面不能在邮票大小的面积上给你造成视觉吸引力,但这个封面不管设计得多么绝妙都是失败的。 设计一个封面不难,但要设计一个好看的封面就相当不易。而要设计一个既好看又能卖的封面则是极难的事情。

为了达到这个效果。我開始构思这个封面。在“第一行代码”这几个字的字体上做文章的念头曾在我脑海中一闪而过,但立刻就被我否定了。那样出来的效果会过于张扬,同一时候又不免落入俗套,并且弄不好就会搞得像本財经类图书。

我告诉自己,既然是本给刚開始学习的人看的书,那首先就要让刚開始学习的人有亲切感,要设计一个典型的元素,让刚開始学习的人一看到它亲切感和熟悉感就立刻油然而生。八年前。我在清华时曾策划过一个“第一步”系列,当时我设计的封面元素就是在画面中央有一个“Hello,World”字样,非常醒目。

Hello,World对于刚開始学习的人而言无疑是最熟悉的元素。但我不喜欢反复自己,对于这个“第一行代码”系列。我要又一次琢磨一个元素。

我想到了我当年刚刚学习编程时,在深夜灯下电脑前工作的情景,也想起来曾经深夜写计算机书时的情景,不管是写代码。还是写计算机书。深夜电脑前工作的情形是每个程序猿。不管新手还是老手都非常熟悉有亲切感的画面,甚至此时此刻的你就是这样。

所以我决定就用这个画面这个场景来做这个封面关键识别元素。

那么这个识别元素详细要有哪些物件组成呢?我開始进一步构思这个场景详细要包括哪些元素。

我凭着直觉。让脑海中自发产生的图像带我前行,我看到一个小程序猿坐在书桌前。他背对着我。面前是一台ThinkPad笔记本电脑,左手側有一台iPad,右手側有一台三星Note大屏手机。另一碗刚泡好正待吃的方便面,一杯果汁,一摞书。由于正在从事Android开发。所以书上另一个Android小机器人的手办,另一盆绿植(我又在脑海中细致看了看。原来是盆仙人掌)。我把这些元素在纸上画出来。为了让画面更丰富,我瞅了瞅我自己的书桌,然后又在画面中加了一个水杯,几张纸和一支笔。为了让画面更生动和富有趣味。我在桌旁的地面上加了一仅仅小猫,它正好奇的望向桌底某个方向,似乎发现了什么异次元的东西。

这是当时我画的草图:

当时我在主画面周围还画了一些家具、一个窗户,以及窗前的天文望远镜(望远镜的出现有两种含义,这是这个小程序猿的爱好,同一时候也意味着梦想),后来我意识到,整个画面非常像我房间的样子。

我让与我合作多年的插画师巫俊武来画这个插画。这是插画的第一个版本号:

不萌,并且过于写实,欠缺一些魔幻感,于是继续改动,得到以下这个版本号:

有点萌了。有点味道了。

于是,我让俊武先进行一下着色。看看效果。

我当时给了俊武一幅插画效果(这是《梦想还是要有的。万一实现了呢》一书中的一幅插画),让他就依照这幅插画的效果来进行着色。由于我当时希望这本书的画面要温暖、明亮、色彩丰富。看着让人心生喜悦,带给人阳光向上的感觉。同一时候时间是晚上,所以这幅插画非常符合我要求。

结果,俊武一番神勇发挥后。得到以下这个让我大跌眼镜的效果:

当时又进行了一些着色的调整,但始终离我要的效果相去甚远(俊武不太擅长我要的那种着色风格)。于是我果断放弃着色,决定就用黑白色来实现这幅插画。

我開始思考如何才干让黑白的插画产生足够的力度。那就必须有足够的细节,同一时候笔触要加粗,粗笔触本身就会带来细节感和质感。笔触太细。必定会有单薄感、缺乏力度。

由于缺少细节而导致缺少力度。所以我给插画师找了一些素描风格的插画,让他往那种效果上靠拢,几经改动,得到以下这个版本号。

画面開始有一些厚重感和力量感了,但人物的脑袋有问题,不够大不够圆。继续改动。几经改动。得到惬意的版本号(我当时以为的终于版本号)。

然后。我又让俊武照着我的另一副草图画好了封底用的插画。

这个封底的插画是和封面插画相呼应的,封面插画是在家里(屋内)看到的情景,而封底插画是同一时间在屋外(小区里)看到的这家的情景,整栋楼的灯光都熄灭了,全部人都入睡了,仅仅有这个小程序猿的房间还亮着灯,正在认真地努力地写着代码。

他的梦想是成为优秀的程序猿。

因此。我在封底写下了这样一句宣传语:
我挥舞着键盘和本子,
发誓要把世界写个明明确白。
两行字以下的那个小灰块代表正在闪烁的光标。

然后。我把全套封面设计资料(包括插画、封面宣传语、文件夹、样章等等)交给我的设计师绿豆(真名潘建永)。并电话中跟他沟通了这个封面的设计要求。一周后,我拿到了以下的版本号,我在已经坐在椅子里的状态下又进一步跌坐在了椅子里。

简直乱成一锅渣了。并且画面非常单调,毫无让人去翻阅的念头。绿豆跟我说。他感到这幅黑白的插画限制了他的设计发挥,由于为了配合一幅黑白的画,封面的底色差点儿仅仅能是黑白的(至少我和他当时异脑同思都是这么觉得的)。于是。事情差点儿又回到了起点。还是必须搞出一幅着色的插画才行,才好兴许设计的发挥。我安慰了一下绿豆受伤的心。决定继续去寻找合适的插画师。我在chuangyiren.cn站点上翻阅了几百页。找到了多位优秀的插画师,然后我从中选了一位插画师,和他电话沟通后。请他開始画这幅插画。

我这时对这幅插画的画风应该是如何的。已经有了一些想法上的变化。我感到假设画面和上面提到的《梦想》那本书的画风一样的话,会显得过于卡通。有些低幼,并且缺少神奇感,与这本书中所包括的这套令人耳目一新、匪夷所思的升级与宝物系统的感觉不是非常搭,同一时候,这样的画面缺乏厚重感和力度。由于颜色过多,在网店小图上展示时也非常难形成视觉冲击力。

因此。我决定放弃这样的画风,转而寻求一种能满足神奇、厚重、且具有强力的视觉冲击力的画风。

这时,我突然想到了我曾经看过的一部动画片电影《凯尔经的秘密》。

这部动画片的风格正适合这本书。

但终于拿到的插画效果和我想要的仍相去较大。

我这时感觉多少有点崩溃,我觉得我最初制定的设计方案也许非常不错,但实现难度较大,并且即使全然依照我的设想实现了。画面冲击力非常可能仍然不够大。

在寻找新的插画师。以及让新的插画师试画的期间。我也同一时候在让俊武把原来的素描版插画进行完好。由于此时我猛然想到,我不能仅仅仅仅在封面上写上一句“第一本引入经验值、升级与宝物系统的计算机书!”就想当然的觉得读者会信了,并且会感受到这句话意味着什么。我必需要在封面上直接就以画面的形式把这本书所增加的这套独一无二的经验值和升级系统体现出来,所以仅仅画出小程序猿显然是不够的,还要有这套系统中所营造的那个Android神界的人物、角色、物品。

所以。我让俊武在画面上增添了这样七个元素:

一, Android前辈遗失的修行卡
二, 外围守护者
三。 信心增强大力丸
四, 上古奇书
五。 神树
六。 粗布Android战袍
七。 界面砖家(法师造型)

我画了草图,并跟俊武说明了这些元素各自的形象。

第二天,我得到了一个身材矮小的牛魔王(俊武想象中的外围守护者),以及忘记从哪个软件里跑出来的Wizard(俊武想象出的巫师)。

我平静了一下心情,调整好思路。继续与俊武沟通。我从网上找到了这七个元素中每个我惬意的造型。然后让俊武參考它们进行绘画,果然。这次的接近了不少。

但守护者的神态不够威武,并且身高不够,感觉不到是神界的人物。更像是个脾气和善的在自由市场卖猪肉的胖商贩,巫师的身高也不够。感觉像西游记里的土地或是小矮人之类的角色。

我让俊武想象希腊、埃及那些神庙中的顶天立地的神像,感受他们的体积和庞大,体会他们的威严,经过数次改动后,我拿到了惬意的版本号。

插画非常完美了,但封面的整体设计方案的问题依旧没有解决。我集中精力仅仅想一个问题,如何让画面有视觉冲击力,显然必须保持单色色块尽可能的大,由于一旦画面被多种颜色和色块分散后,在网店上邮票大小的面积上就更形不成什么视觉面积了,所以我想到必须採用整个封面用单一色调的方案,可选的颜色有红色、黄色、金色、蓝色、绿色。充分琢磨和体会后,我选了红色。蓝色也非常有冲击力,但不管是读过本书内容还是这套升级系统,你都不会在脑海中产生蓝色这个颜色。你的脑海中会产生绿色这个颜色,但绿色在网页上的视觉冲击力太弱。在催人向上的力度上也较差。红色最合适,但不能是大红,大红太刺眼。并且略显俗气,所以我用了暗一些的红色,绿豆说他是往红色中加了20的黑,出来的这个效果非常棒。

为了尽量让红色占有更大的视觉面积,我想了一个方案,在画面前景色中仅仅保留小程序猿和那仅仅小猫是白色的。而把其它元素(守护者、神树、古书、巫师等)都放入背景的红色中,作为底纹呈现出来,这样就不会喧宾夺主,并且有一种那些神界的人物是这个小程序猿的脑海中的想象或者说回顾的韵味。

此外。单独的红色,即使加上这些神界的元素做底纹还是略显缺乏一点层次,我又让绿豆在底纹中增加了一些植物的叶子。我选了恐龙时代就存在的蕨类植物的叶子。由于这些叶子有一种与生俱来的神奇感和沧桑感,若隐若现间。烘托出本书应有的神奇和庄重的味道。

此前,由于封面上宣传语太多。不方便设计,所以我让绿豆把当中一部分宣传语设计到了腰封上。

腰封对这些重要的宣传语能起到更好的宣传作用,同一时候封面本身也干净了非常多。

至此,整个封面设计完毕。

完整的展开封面:

第一时间获得博客更新提醒,以及很多其它技术信息分享。欢迎关注我的微信公众号,扫一扫下方二维码或搜索微信号guolin_blog。就可以关注。

版权声明:本文博主原创文章,博客,未经同意不得转载。

《代码的第一行——Android》封面诞生的更多相关文章

  1. 历时一年,我的著作《第一行代码——Android》已出版!

    前言 事实上我当初决定開始写博客的想法挺简单的,认为自己搞技术这么多年了,总应该要留下点什么.既然没能写出什么出色的应用,那至少也要留下点文字分享给大家,以指引在我后面的开发人员们,毕竟我也从前辈们的 ...

  2. 第一行代码 Android 第二版到货啦

    今日android第一行代码[第二版]已到,收获的季节到了 先看一下封面 书签: 以后就把空闲时间送给它吧 先来看一下本书的目录: 第1章 开始启程--你的第1行Android代码 第2章 先从看得到 ...

  3. 第一行代码Android(第3版).pdf下载

    2020年人民邮电出版社出版的图书 <第一行代码Android(第3版)>是2020年4月人民邮电出版社出版的图书,作者是郭霖. 封面: 内容简介: <第一行代码 Android 第 ...

  4. 【java学习系列】 Android第一本书《第一行代码》

    开始Java的学习,从Android,开始吧.<第一代码>开始阅读和调试demo例子. 下面是 <第一行代码>的思维导图:

  5. 《第一行代码——Android》

    <第一行代码——Android> 基本信息 作者: 郭霖 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115362865 上架时间:2014-7-14 出版日期:2014 ...

  6. Android Studio 单刷《第一行代码》系列 02 —— 日志工具 LogCat

    前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

  7. Android Studio 单刷《第一行代码》系列 01 —— 第一战 HelloWorld

    前言(Prologue) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Android ...

  8. Android Studio 单刷《第一行代码》系列目录

    前言(Prologue) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Android ...

  9. Android Studio 单刷《第一行代码》系列 07 —— Broadcast 广播

    前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

随机推荐

  1. emeditor 配置教程

    1.众多的图形界面配置功能 通过查看EmEditor的安装目录,可以发现,EmEditor有几个配置文件,理论上应该可以通过修改配置文件来达到配置EmEditor的目 的.然而,打开配置文件一看,如果 ...

  2. 使用WPF创建无边框窗体

    一.无边框窗口添加窗口阴影 实际上在WPF中添加无边框窗口的窗口阴影十分简单. 首先,设置WindowStyle="None"以及AllowsTransparency=" ...

  3. mysql 插入Emoji表情报错

    今天做的了个获取微信粉丝的功能,发现将昵称插入数据库报错.长度肯定是够的 Incorrect string value: '\xF0\x9F\x98\x84\xF0\x9F 找了点资料发现UTF-8编 ...

  4. Oracle DG故障诊断一则:alter database recover to logical standby new_logical_dbname卡住

    我们在基于物理standby的基础上搭建逻辑备库过程过程中,在运行: alter database recover to logical standby READDB; 卡住不动,而且alert也没有 ...

  5. windows下搭建Apache+Mysql+PHP开发环境

    原文:windows下搭建Apache+Mysql+PHP开发环境 要求 必备知识 熟悉基本编程环境搭建. 运行环境 windows 7(64位); Apache2.2;MySQL Server 5. ...

  6. OpenCV面、人眼检测

    /* 功能:实现对眼睛.脸部的跟踪. 版本号:1.0 时间:2014-4-27 */ #include <opencv2/objdetect/objdetect.hpp> #include ...

  7. 【C语言探索之旅】 第二部分第七课:文件读写

    内容简介 1.课程大纲 2.第二部分第七课: 文件读写 3.第二部分第八课预告: 动态分配 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏 ...

  8. 了解HTML5和“她”的 API (一)

    简化了文档声明.字符集 //声明 <!doctype html> //字符 <meta charset="utf-8">  引入了新的标签元素 Select ...

  9. 开源Math.NET基础数学类库使用(08)C#进行数值积分

    原文:[原创]开源Math.NET基础数学类库使用(08)C#进行数值积分               本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4 ...

  10. java提高篇(十三)-----字符串

          可以证明,字符串操作是计算机程序设计中最常见的行为. 一.String 首先我们要明确,String并不是基本数据类型,而是一个对象,并且是不可变的对象.查看源码就会发现String类为f ...