二维图形模型可以是如下这些的组合:
几何模型(也称为
矢量图形),
数字图像(也称为光栅图形),需要
排版的文本(由内容、
字体和大小、颜色、和方向定义),数学
函数和
方程,等等。这些组件可以通过象
平移、
旋转、
缩放这样的
二维几何变换来修改和操作。
简介
二维计算机图形(2D computer graphics),也简称为2D CG,是基于计算机的数字图像的产生—主要是从二维模型的(例如二维几何模型,文本,和数字图像)产生,并且使用只适用这些模型的技术。该词也用于指代这些模型本身。采用该技术的计算机科学的分支称为二维计算机图形学。
二维图形技术
在面向对象图形中,图像通过一个有自
绘制方法—一个用任意的算法来赋予图像
像素色彩值的例程—的对象来描述。复杂的模型可以通过将更简单的对象组合起来得到,可以采用
面向对象编程的范式。
直接绘制
创建一个复杂图像的一个简易办法是从一块空白画布开始—填满单一
背景色的光栅图(
像素数组—也称为
位图)—然后通过正确的次序“画”,“漆”或者“贴”上简单的色块。特别的有,画布可以是计算机显示器的
帧缓存。
有些程序会直接设置像素色彩值,但多数会依赖一些二维
图形库以及(或者)机器的
图形卡,它们通常会实现下列操作:
在给定的位置和角度将一个字符串以给定的字体写如帧缓存;
绘制一个简单的几何形体,例如用三个定点定义的
三角形,或者给定
圆心和半径的
圆;
绘制一条
线段、
圆弧、或者用给定粗细的虚拟
笔绘制简单曲线。
扩充色彩模型
文本、形状和线条使用用户指定的色彩绘制。很多库和卡提供色彩梯度,它对于产生平滑变化的背景、阴影效果、等等都很实用(参看Gouraud明暗图。像素色彩也可以从
纹理中取得,例如从一个
数字图像中这样就可以模拟刮擦
网目调(screentone)和以前只有
卡通片中才有的“棋盘格喷漆”)。
用给定色彩绘制一个
像素通常会取代其原先的色彩。但是,很多系统支持用
透明和
透过色彩绘制,它只会修改原先的像素值。
两个色彩也可以用更花哨的方法组合,例如通过计算它们的
比特异或。这个技术被称为
反色或者色彩翻转,并经常在
图形用户界面中采用,用于高亮显示、钉钉板(rubber-band drawing)、以及其它临时绘制—因为再次以同样的色彩绘制相同的图形会恢复原始的像素值。
图形层次
二维计算机图形采用的模型经常不提供三维形状,也不提供光照、
阴影、
反射、
折射、等等这样的三维光学效果。但是,它们通常会有多个层次的模型(概念上就是墨水、纸、或者胶片组成的层次);可以是
不透明、
透明、或者
半透明—并且以特定次序叠加。该次序通常用单个数字定义(该层次的深度,或者说离观察者的距离)。
分层模型有时称为2 1/2维计算机图形。它们使得模拟传统的基于胶片和纸的草图和印刷技术成为可能;并使得用户能够不对其它层次产生任何影响地编辑任意一层。因此,它们在多数
图形编辑器中得到采用。分层模型使得复杂图像的
反走样变得更好,并且为诸如
榫接和奇偶规则的特殊技术提供了一个正确的模型。
分层模型也用于允许用户在察看或打映文档时限制不需要的信息,例如
地图上的公路或者铁路、
集成电路布线图的特定加工层次、商务信件的手写注释等等。
在分层模型中,目标图像通过“绘制”或者“粘贴”每个层次到虚拟画布上产生,次序是按深度递减。概念上,每一层首先独自
绘制,产生所需
分辨率的
数字图像,然后在画布上一个像素一个像素地描绘。当然,层次全透明的部分无须绘制。绘制和描绘可以并行的进行,也就是说,每个层次的像素在绘制进程中一产生就可以描绘到画布上。
包含复杂几何体的层次(例如
文本或者
多边形)可以分解为更简单的元素(分别是
字符或者
线段),然后作为分离的层次以某种次序绘制。但是,这个办法可能在两个元素重叠在同一个像素时产生不良的走样这样的人工因素。
二维图形硬件
现代计算机
图形卡几乎全部采用光栅技术显示,把整个屏幕分成
像素的矩形点阵,这是因为基于光栅的图形硬件和矢量图形硬件相比要低价。多数图形硬件对于位图传送操作和精灵绘制有内部支持。专门用于位图传送的
协处理器称为传送器芯片。
1970年代晚期和1980年代早期的用于8位游戏平台和
家用机的经典二维
图形芯片包括:
Atari的
ANTIC (实际上是一个二维
GPU),TIA,
CTIA,和GTIA
Commodore/MOS Technology的VIC和VIC-II
二维图形软件
很多
图形用户界面(GUI),包括
Mac OS,
微软视窗,或者X视窗系统,主要基于二维图形概念。这些软件提供了和计算机交互的视觉环境,并且常常包括某种形式的视窗管理器来帮助用户从概念上区分不同的应用程序。 单个软件应用程序的典型用户界面也是本质上二维的,部分因为最普通的
输入设备(例如
鼠标)被限制于做二维的运动。
二维图形在打印机、绘图仪、线切割机等等外围设备的控制中殊为重要。它们也用于早期的
视频游戏和
计算机游戏中;并且依然在棋牌类游戏中使用,例如
接龙、
象棋、
麻将、等等。
二维图形编辑器或者说绘图程序是应用程序级的软件,用于图像、流程图、插图等的创建,它采用二维图形体素的直接操纵实现(通过鼠标,绘图版,或者类似的设备)。这些编辑器一般提供二维几何体素以及数字图象;有些甚至支持过程化模型。插图通常内部表示为分层模型,经常会有一个等级结构以方便编辑。这些编辑器通常输出图形文件,其中层和体素分别以其原始形式保存。MacDraw,是于
1984年在麦金塔系列计算机上创建的,它是这类程序的一个早期的例子;现代的例子有商用产品
Adobe Illustrator和
CorelDraw,以及免费编辑器xfig。也有很多二维图形编辑器专用于特定的制图,例如电气、电子和大规模集成电路线路图、地形图、计算机字体、等等。
1
图像编辑器是专用于
数字图像的操作的,主要通过自由手绘和
信号处理操作。他们主要采用直接绘制的范型,其中用户控制虚拟笔、刷、以及其他自由手动艺术设备来将色彩绘于虚拟画布上。有些图像编辑器支持多层模型;但是,为了支持象模糊这样的信号处理操作,每个层通常表示为一个数字图像。所以,任何编辑器提供的几何体素直接被转换成像素并描到画布上。光栅图形编辑器这个名称有时被用来强调该方法和一般也能处理矢量图形的编辑器的不同。最早的流行的图形编辑器有
苹果公司的MacPaint,MacDraw的伴侣软件。现代的例子有免费的
GIMP编辑器,商用产品
Photoshop和
Paint Shop Pro。这类软件也包括很多专门化的编辑器—用于医药、遥感、数字摄影、等等。