像素简介
（按快门声）赞！
我和Mike一起成立了Instagram
我们开始只是想用手机照片做些有新意的事儿
毕竟这是人们第一次那么在意口袋里的计算机
我们认为在未来五年照片分享可能是最大的机会
于是我们顺从内心，开始花时间来做这件事
有app或者想法去解决x, y, z还不够
更重要的是解决实际问题，供人们真正的使用
问题是：你要解决什么问题？
最初为了在屏幕上显示照片，人们需要对照片进行数据分解
1957年，一名计算机工程师Russell Kirsch
给他儿子拍了一张照片并扫描了下来
这是第一张数字图像：有颗粒感的黑白婴儿照
像素就这样诞生了
像素是个有趣的概念，因为他们不容易被看到
但实际上，如果你不断放大显示屏
就会发现显示屏是由非常小的光点组成
更有意思的是，每一个小光点是由更小的不同颜色光点构成
光点颜色有红，绿，蓝
从远处看，这些像素构成了图像
从前面看，他们只是能够亮暗的光点
正是他们构成了我们每天从电脑上看到的照片
你总能听到一个词：分辨率
计算机科学家和器材生产商都会提到它
分辨率是一个二维值，用于表示屏幕上像素数
当我还是个高中生的时候，分辨率只有640 x 480
今天分辨率则大了很多
除了分辨率以外，密度也很重要
比如智能手机，在有相同像素的前提下
像素密度更大的图像就更可以更细腻
那么，如何在一个文件里存储这些像素值呢？
其实你只是存储了许多红绿蓝的三元数组
他们则表示每一个像素
像素的数值范围是0-255
0非常暗，255非常亮
这个三元数值一起表示一个像素
一个图像文件，无论是JPEG，GIF 还是PNG
包含了百万级的红绿蓝三元值
那么计算机是如何存储这些数据的呢？
所有视觉和计算数据是用bit（比特）表征
每bit有两个状态：开和关
计算机使用对应的1或0二元值
所以图像是由一堆01数值构成的
为什么RGB数值的范围是0到255呢？
每一个颜色频道是由8bit构成
8bit构成一个1BYTE（字节）
如果你了解二元数值系统
那么8bit最大的数值是255，也就是一行全是1
最小的8bit数值是0，也就是一行全是0
因此0到255对应了每个颜色通道里256个灰度值
比如我们来表示青绿色的像素
在传统的十进制数值系统里，64有些红
224很绿，208比较蓝
但是计算机会青绿色存储成01000000
11100000
11010000
我们使用24个二进制值表示一个像素
计算机系统通常使用16进制，而不是二进制来表示颜色
所以我们只用6个十六进制表示同样的颜色:40 E0 D0
这就短多了
如果你想改变图像颜色，怎么办？
使用对应函数，输入为像素的红蓝绿数值
然后将其对应成新的红蓝绿数值
比如你想将图像变暗
一种方法是用输入的红绿蓝数值减去50
很明显，结果不能小于0，然后得到数值
如果输入是RGB，那么输出是R-50，G-50，B-50
你能看到输入图像是某个亮度，输出图像就变暗许多
许多人可能没有意识到，Instagram不止是做图像滤镜
或者仅仅把图片变酷
他的愿景更加重要
那就是如何将人们联系起来
他也不只是看朋友家人的照片，我们希望看到世界的变化
可能在海外，可能是社会活动
你可以通过视觉图片的方式获知这些信息
这才是我们快速成长并成为受欢迎媒介的原因
学习更多尽在studio.code.org