搜档网
当前位置:搜档网 › 【Visual C++】游戏开发笔记之四——游戏画面绘图(一)基本图形绘制

【Visual C++】游戏开发笔记之四——游戏画面绘图(一)基本图形绘制

【Visual C++】游戏开发笔记之四——游戏画面绘图(一)基本图形绘制
【Visual C++】游戏开发笔记之四——游戏画面绘图(一)基本图形绘制

【Visual C++】游戏开发笔记之四——游戏画面绘图(一)基本图形绘制

本系列文章由zhmxy555编写,转载请注明出处。https://www.sodocs.net/doc/a79919740.html,/zhmxy555/article/details/73332886

作者:毛星云邮箱: happylifemxy@https://www.sodocs.net/doc/a79919740.html, 欢迎邮件交流编程心得

从本篇文章开始笔锋一转,展开介绍了GDI相关的知识,想知道浅墨具体需要更改思路的原因,请移步本系列文章的第一篇:

【Visual C++】游戏开发笔记之一——API函数、DirectX的关键系统

首先介绍一下GDI(Graphics Device Interface)。GDI,中文翻译为“图形设备接口”,是Windows API中相当重要的一个成员,它掌管了所有显像设备的图像显示及输出功能。Windows系统现在的图形操作环境都是他的功劳。

Ⅰ.坐标与DC

在实际利用GDI绘图之前,我们先来了解一下几个屏幕绘图的基本概论。

▲创建一个窗口之后,显示的屏幕上便划分出三个区域,即屏幕区(Screen),窗口区(Window)与内部窗口区(Client)

▲Device Context(设备内容)一般简称为DC,就绘图观点来说,DC就是程序可以进行绘图的地方。

▲在处理WM_PAINT消息以外的地方,若要取得窗口的DC,可以调用下面这个函数:

HDC GetDC(HWND hwnd); //取得DC

若使用GetDC()函数取得窗口DC后,必须使用ReleaseDC()函数将DC释放。

Int ReleaseDC(HWND hWnd,HDC 要释放的DC名称);//释放DC,若运行成功,返回整数1,若失败返回0

Ⅱ.画笔与画刷

▲画笔与画刷都是GDI中所定义的图形对象,画笔是线条的样式。画刷是封闭图形内部填充的样式。可以自定义绘图所用的画笔与画刷样式,系统预设画笔样式为BLACK_PEN,画刷样式为NULL_BRUSH。

▲要自定义画笔或画刷样式,用下面3个API函数。

HPEN CreatePen(int 样式,int 宽度,COLORREF 颜色); //建立画笔

HBRUSH CreateHatchBrush(COLORREF 颜色); //建立阴影画刷(之前这里手误打成CreateSolidBrush,谢谢各位的提醒)

HBRUSH CreateSolidBrush(COLORREF 颜色); //建立单色画刷

▲建立新画笔与新画刷之后,必须在所要进行绘图的DC中选择它们,才会产生预期的画笔与画刷效果,我们采用SelectObject()函数:

HGDIOBJ SelectObject(HDC hdc,HGDIOBJ GDI对象); //选用GDI对象,返回先前使用的GDI对象

▲GDI对象有:画笔,画刷,位图,字体,区域及调色板等。

▲GDI对象一旦建立就会占用部分内存,一旦不使用就务必用DeleteObject将他们删除:

BOOL DeleteObject(HGDIOBJ DGI对象); //删除GDI对象

删除成功返回布尔值“ture”,若失败返回“FALSE”

▲所以GDI对象使用的基本过程是:建立——选用——删除Ⅲ.GDI绘图函数

▲文字输出我们可以采用TextOut(),函数定义如下:virtual BOOL TextOut(

int x, //输出字符串的X坐标

int y, //输出字符串的Y坐标

LPCTSTR lpszString, //字符串指针

int nCount //字符串的长度

);

▲多边形函数

Polygon() 绘制封闭多边形

PolyLine() 绘制多边线条

PolybneTo() 以当前画笔所在位置绘制多边线条PolyPolygon() 绘制多个封闭多边形

PolyPolyline() 绘制多个多边线条

以上几个函数使用方法基本相同,以Polygon()函数来说明 BOOL Polygon(

LPPOINT lpPoints, //点数组指针

int nCount //多边形点数

);

▲封闭图形函数

1.画矩形的GDI函数

BOOL Rectangle(

int x1,

int y1,

int x2,

int y2

);

BOOL Rectangle(

LPCRECT lpRect

);

2.画椭圆的GDI函数

BOOL Ellipse(

int x1,

int y1,

int x2,

int y2

);

BOOL Ellipse(

LPCRECT lpRect

);

3.画圆角矩形

BOOL RoundRect( int x1,

int y1,

int x2,

int y2,

int x3,

int y3

);

BOOL RoundRect( LPCRECT lpRect, POINT point );

4.画扇形

BOOL Pie(

int x1,

int y1,

int x2,

int y2,

int x3,

int y3,

int x4,

int y4

);

BOOL Pie(

LPCRECT lpRect, POINT ptStart, POINT ptEnd );

5.画弓形

BOOL Chord(

int x1,

int y1,

int x2,

int y2,

int x3,

int y3,

int x4,

int y4

);

BOOL Chord(

LPCRECT lpRect, POINT ptStart,

POINT ptEnd

);

笔记四到这里就结束了,下一节笔记五的内容是“绘制位图”end

AutoCAD基本绘图习题集

实验一:AutoCAD操作基础训练 AutoCAD界面、初步操作命令以及系统变量设置,视图控制命令与对象常规编辑命令等。 内容: A.按照教材、教学内容要求,进行启动、绘图界面分析、系统变量的调整、视图控制命 令等,自定义练习。 B.画图练习一、二。 画图练习一 基本操作练习 先执行line命令绘制一个三角形,三角形的三个顶点分别为(45,125)、(145,125)、(95,210)。然后再绘制这个三角形的内切圆和外接圆。 A.画外接圆:circle命令(“三点”选项)。 B.画内切圆方法有两种: , 方法一:执行circle命令,选择“相切、相切、相切”选项,分别点击三角形的三个边。 方法二:先执行xline命令(参照线),选择命令中“平分线(B)”选项平分三角形的顶点,平分线的交点即为三角形中心点;以中心点为圆的圆心,执行circle命令绘制内切圆。(此种方法要使用“对象捕捉”命令,但不如第1种方法简单、快捷。) 画图练习二 基本操作练习 按图示标注的尺寸绘制一个矩形和一条直线,左下角的坐标为任意坐标位置。

实验二:基本命令(一) 内容:点、线、圆(弧)、圆环、椭圆(弧)等基本绘图命令的练习。画图练习二选一。

实验三:基本命令(二) " 内容:矩形、正多边形、图案填充等基本绘图命令。 画图练习五 绘制图形 矩形(rectang)命令绘制基本图形,再进行编辑、修改。使用镜像(mirror)命令提高绘图效

画图练习六 2.基本图形可以使用矩形(rectang)命令,部分图线的定位也可以考虑使用矩形命令作为辅助手段。 实验五:图形对象的编辑与修改一 》 对象选择、删除与恢复、移动、复制、镜像、偏移、阵列等修改命令。 选择一个有一定难度的画图练习。 画图练习七 绘制图形

基本图形绘制和操作

第一讲: 一、西瓜 1、新建一文档,并新建一层,用椭圆选区工具画一个椭圆。 2、将前景色设为一种淡黄色,背影色设为墨绿色,用径向渐变工具从左上角至右下角进行渐变。 3、新增一层,用矩形选区工具画一长条,填充深绿色,这一层用来制作瓜纹。

4、按住ALT键拖动矩形长条进行复制(这种方法复制的内容不会新增层)。 5、确定当前层为瓜纹层,按住CTRL键点击瓜体层,将其浮动,执行“滤镜/扭曲/波纹”命令,参数可自定,本例设置大小为中,数量为285 6、继续执行“滤镜/扭曲/球面化”命令,数量设为100%。完成后反选,将多余瓜纹删除。 7、制作瓜蒂。新增一层,画一矩形选区,填充上深褐色,并添加杂色,用“编辑/液化”命令变形至瓜蒂形状。 8、将瓜蒂、瓜纹与瓜体层合并。为使西瓜效果更为真实,用减淡工具和加深工具将高光区和暗调区进行适当调整。 瓜瓤的制作 1、新建一层,用椭圆选区和矩形制作出如图所示的选区,并填充上红色。 2、西瓜肉表面不可能这么光滑,所以给它添加一些杂点,数量大致为11%左右。

3、将选区上移并按CTRL+SHIFT+I反选,再按住CTRL+ALT键单击此层,得出如图所示的选区。 4、保持选区浮动,新增一层,填充深绿色。 5、将选区上移,使之与下一层有少许重叠,再次新增一层后填充淡黄色,进行微量的高斯模糊并适当降低透明度。 6、将瓜肉与瓜皮等三层合并。用画笔工具和铅笔工具在瓜肉上随意点上几点作为瓜籽,前景色为黑色,笔刷大小均为5。 7、切开的西瓜上面不可能这么平整,因此用套索工具拉出一不规则选区后删除。 8、用减淡和加深工具分别对瓜肉层和瓜皮层进行适当加工,使效果更逼真,完成后将三层合并。

第三课:AI基本图形的绘制与编辑

第三课:基本图形的绘制与编辑 第一节:认识路径 路径是通过绘图工具绘制的任意线条,它可以是一条直线,也可以是一条曲线,还可以是多条直线和曲线所组成的线路。一般情况下,路径是由锚点和锚点之间的线段所组成。锚点标记路径段的端点,在曲线段上,每个选中的锚点显示一条或两条方向钱,方向线以方向点结束。方向线和方向点的位置决定曲线段的大小和形状。移动这些元素将改变路径中的曲线的形状。 注:在Illustrator中路径是可以打印的,因为这是一个矢量绘图软件。 一、路径分为:闭合路径、开放路径 1.闭合路径:闭合路径是指起始点与终止点相连接的曲线。绘制完成的闭合路径是没有终 止点的,如:矩形、椭圆、多边形和任意绘制的闭合曲线等。(看不出起点和终止点的直线或曲线(如圆、矩形)) 2.开放路径:开放路径是由起始点、中间点终止点所构成的曲线,一般不少于两个锚点, 如直线、曲线和螺旋线等。(一条直线或曲线,有起点和终点) 二、锚点: 路径是由一条或多条线段组成的线,锚点就是这些线段从开始至结束之间的结构点,路径可以通过这些结构点来绘制其轮廓形状。 锚点分为:分为平滑点、直角点、曲线角点、对称角点和复合角点。 平滑点:平滑点两侧有两条趋于直线平衡的方向线,修改一端方向点的方向对另一端方向点有影响。修改一端方向线的长度对另一端方向线没有影响。 直角点:直角点两侧没有控制柄和方向点,常被用于线段的直角表现上。 曲线角点:该角点两侧有控制柄和方向点,但俩侧的控制柄与方向点是相互独立的即单独控制其中一侧的控制柄与方向点,不会对另一侧的控制柄与方向点产生影响。 对称角点:该角点两侧有控制柄和方向点,但俩侧的控制柄与方向点是相同的即单独控制其中一侧的控制柄与方向点,会对另一侧的控制柄与方向点产生影响。 复合角点:该角点只有一侧有控制柄和方向点,常用于直线与曲线连接的位置,或直线与直线连接的位置。 第二、三节:路径的绘制(钢笔工具) 钢笔工具(P): 钢笔工具是最基本的路径绘制工具,运用它可以绘制出各种形状的直线和平滑流畅的曲线路径,即可以创建复杂的形状,也可以在绘制路径的过程中对路径进行简单的编辑。 一、绘制直线\曲线路径 按Ctrl键在空白处单击强制结束绘制或者是调整路径. 按Shift键绘制水平或垂直或45度角直线 按Alt键可以删除控制手柄或者将钢笔工具转化成转换节点工具

第二课:AI基本图形的绘制与编辑

第二课:基本图形的绘制与编辑 第一节:选取工具及矩形工具 知识点: 选择工具、对象管理及绘图工具的使用 (一)选取工具(V): 选取和移动整个图形对象、路径或文字块,具有缩放、旋转、复制功能。 1、缩放:按Shift键,等比例缩放; 按Alt+Shift键,由中心向内或向外等比例缩放; 2、旋转:按Shift键,约束45度倍数的角度来旋转; 3、移动:按Alt键,复制对象; 4、选取:按Shift键,减选/加选对象; 注:不管当前使用什么工具,按Ctrl键不放可激活选取工具; 按Ctrl+Tab键,在选取工具和直接选取工具之间来回切换; 按鼠标左键拖选选取对象,所框到的区域对象都将被选中。 (二)直接选取工具(A): 用来选取或移动锚点 拖选选取对象,所框到的对象上的节点和路径段被选中; 选取时:按Shift键,加选/减选节点; 按Alt键,单击对象选中所有锚点,再按住左键拖动可完成复制。 按住Ctrl键可以在选取工具和直接选取工具之间进行切换。 (三)组选取工具: 选取和移动成组对象中的子对象。 单击一次即可选中子对象进行移动等操作,再单击一次选中整组对象。 二、对象管理: (一)锁定(Ctrl+2)与解锁(Ctrl+Alt+2) (二)隐藏(Ctrl+3)与显示(Ctrl+Alt+3) (三)群组(Ctrl+G)与解散(Ctrl+Shift+G) 第二节:圆角矩形及椭圆工具的绘制 1、矩形、圆角矩形和椭圆形工具的绘制方法: 按shift键,绘制一个长宽相等正基本形状。 按Alt键,以鼠标单击的点为中心点开始绘制基本形状。 按Shift+Alt键以鼠标起点为中心向外绘制正基本形状。 按空格键(Space键),暂时“冻结”你正在绘制的基本形状,此时可拖动对象到绘图区任意位置以重新定位,松开后就可继续绘制; 绘制时按“~”键,以绘制对象的起点为中心复制对象; 绘制圆角矩形时可以按住“向上”方向键增大圆角“向下”方向键减少圆角半径“向左” 可去除圆角“向右”设置为最大圆角半径。 若要绘制准确大小的形状,选中工具后在工作区域任一位置单击出现对话框可设置尺寸。 Ctrl+A可以全选页面上的所有对象,Ctrl+alt+A取消所有对象的选择。

绘制基本图形对象

一、绘制基本图形对象 1、几个基本常用的命令 1.1、鼠标操作 通常情况下左键代表选择功能,右键代表确定“回车”功能。如果是3D鼠标,则滚动键起缩放作用。拖拽操作是按住鼠标左键不放拖动鼠标。但是在窗口选择时从左往右拖拽和从右往左拖拽有所不同。 窗选:左图从左往右拖拽选中实线框内的物体,只选中了左边的柱子。框选:右图从右往左拖拽选中虚线框内的物体和交叉的物体,选中了右边的柱子和梁。 1.2、Esc取消操作:当正在执行命令的过程中,敲击Esc键可以中止命令的操作。 1.3、撤销放弃操作:autocad支持无限次撤销操作,单击撤销按钮或输入u,回车。 1.4、AutoCAD中,空格键和鼠标右键等同回车键,都是确认命令,经常用到。 1.5、经常查看命令区域的提示,按提示操作。 2、绘制图形的几个操作 这是cad的绘图工具条,在使用三维算量往往不需要使用,因此已把该工具条隐藏。为了了解cad概念,以下介绍几个基本的命令。 2.1绘制直线:单击工具条直线命令或在命令行中输入L,回车。在绘图区单击一点或直接输入坐标点,回车,接着指定下一点,回车,重复下一点,或回车结束操作。或者输入C闭合。 举例:绘制一个三角形的三个边: 命令行输入:L 回车指定第一个点: 单击一点:回车。重复单击另一点,回车。 输入:C回车。直线闭合,形成一个三角形。 2.2绘制多段线:多段线是由一条或多条直线段和弧线连接而成的一种特殊的线,还可以具备不同宽度的特征。快捷键:PL。在三维算量中定义异形截面、手绘墙、梁等时常用。 举例:绘制一个异形柱截面 命令行输入:PL,回车。指定下一点,输入w(宽度),输入1,回车,修改了多段线线的宽度为1。输入快捷键F8,使用cad的正交功能,,保持直线水平,输入:500。输入:A,开始绘制圆弧,单击另一点绘制一个圆弧。输入:L,切换到绘制直线,单击一点,绘制一段直线。输入:A,绘制一个圆弧与开始点闭合为一个界面形状。 接下来就可以定义一个异形截面的柱,来选择该多段性即可。

绘制基本图形

第3章绘制基本图形 在CorelDRAW X5应用程序中可以使用工具直接绘制规则图形和不规则图形。它们是使用CorelDRAW绘制图形中最为基础的部分,熟练掌握这些图形的绘制方法,可以为绘制更加复杂的图形打下坚实的基础。 3.1、绘制几何图形 CorelDRAW X5为用户提供了多种绘制基本几何图形的工具。使用这些工具,用户就能轻松快捷地绘制出矩形、圆形、多边形、星形、螺纹等几何图形。 1、绘制矩形 使用【矩形】工具和【3点矩形】工具都可以绘制出用户所需要的矩形或正方形,并且通过属性栏还可以绘制出圆角、扇形角和倒棱角矩形。 ●使用【矩形】工具 要绘制矩形,在工具箱中选择【矩形】工具,在绘图页中按下鼠标并拖动,拖动出一个矩形轮廓;拖动矩形轮廓范围至合适大小时释放鼠标,即可创建矩形图形;在绘制矩形时,按住Ctrl键并按下鼠标拖动,可以绘制出正方形图形。 选择【矩形】工具时,工具属性栏显示为如图所示的【矩形】工具属性栏。在该工具属性栏中通过设置参数选项,用户不仅可以精确地绘制矩形或正方形图形,而且还可以绘制出不同角度的矩形或正方形。 ●使用【3点矩形】工具 在CorelDRAW X5应用程序中,用户还可以使用工具箱中的【3点矩形】工具绘制矩形图形。单击工具箱中的【矩形】工具图标右下角的黑色小三角按钮,在打开的工具组中选择【3点矩形】工具。然后在工具区中按下鼠标并拖动,拖动至适合位置时释放鼠标,创建出矩形图形的一边。再移动光标设置矩形图形另外一边的长度范围,在适合位置单击确定即可。 2、绘制圆形 使用工具箱中的【椭圆形】工具和【3点椭圆形】工具,可以绘制椭圆形和圆形图形。另外,通过设置【椭圆形】工具属性栏还可绘制饼形和弧形。 ●使用【椭圆形】工具 要绘制椭圆形,在工具箱中选择【椭圆形】工具,在绘图页中按下鼠标并拖动,拖动出一个椭圆轮廓;托动椭圆轮廓范围至合适大小时释放鼠标,即可创建椭圆图形。使用绘制椭圆图形过程中,如果按住Shift键,则会以起始点为圆点绘制椭圆图形;如果按住Ctrl键,则绘制圆形;如果按住Shift+Ctrl键,则会以起始点为圆心绘制圆形图形。 完成椭圆形绘制后,单击工具属性栏中的【饼图】按钮,可以改变椭圆图形为饼形图形;单击工具属性栏中的【弧】按钮,可以改变椭圆图形为弧形图形。 ●使用【3点椭圆形】工具 在CorelDRAW X5应用程序中,用户还可以使用工具箱中的【3点椭圆形】工具绘制椭圆图形。单击工具箱中的【椭圆形】工具图标右下角的黑色小三角按钮,在打开的工具组中选择【3点椭圆形】工具。使用【3点椭圆】工具绘制椭圆形时,用户可以在确定椭圆的直径后,沿该直径的垂直方向拖动鼠标,在适合位置释放鼠标,即可绘制出带有角度的椭圆圆形。 3、绘制多边形 多边形图形是由多个边线组成的规则图形。用户可以使用【多边形】工具自定义多边形的边数,多边形的边数最少可设置为3条边,即三角形。设置的边数越大,越接近圆形。 在工具箱中选择【多边形】工具,移动光标至绘图页中,按下鼠标并向斜角方向拖动,拖动出一个多边形轮廓,拖动至适合大小时释放鼠标,即可绘制出一个多边形图形。

绘制基本图形

第4章编辑图形 使用绘图工具创建图形后,用户还可以使用工具或命令编辑绘制的图形形状。本章主要介绍曲线对象的编辑操作方法,以及图形形状的修饰、修整的基本编辑方法。 4.1、编辑曲线对象 用户在通常情况下,曲线绘制完成后还需要对其进行精确的调整,以达到需要的造型效果。 1、添加和删除节点 在CorelDRAW X5种可以通过添加节点,将曲线形状调整的更加精确,也可以通过删除多余的节点,使曲线更加平滑。增加节点时,将增加对象线段的数量,从而增加了对象形状的控制量。删除选定节点以简化对象形状。 使用【形状】工具在曲线对象需要增加节点的位置双击,即可增加节点;如使用【形状】工具在需要删除的节点上双击,即可删除节点。 要添加、删除曲线对象上的节点,也可以通过单击工具属性栏中的【添加节点】按钮和【删除节点】按钮。使用【形状】工具在曲线上单击需要添加节点的位置,然后单击【添加节点】按钮即可添加节点。选中节点后,单击【删除节点】按钮即可删除节点。 当曲线对象包含许多节点时,对它们进行编辑并输出将非常困难。在选中曲线对象后,使用属性栏中的【减少节点】功能可以使曲线对象中的节点数自动减少。减少节点数时,将移除重叠的节点并可以平滑曲线对象。该功能对于减少从其它应用程序中导入的对象中的节点数特别有用。 2、更改节点的属性 3、曲线和直线互相转换 使用【形状】工具属性栏中的【转换为线条】按钮,可以将曲线段转换为直线段。【转换为曲线】按钮,可以将直线段转换为曲线段。 4、闭合曲线 通过连接两端节点可封闭一个开放路径,但是无法连接两个独立的路径对象。 使用【形状】工具选定想要连接的节点后,单击属性栏中的【连接两个节点】按钮,可以将同一个对象上断开的两个相邻节点连接成一个节点,从而使图形封闭。 使用【形状】工具选取节点后,单击属性栏上的【延长曲线使之闭合】按钮,可以使用线条连接两个节点。 使用【形状】工具选取路径后,单击属性栏上的【闭合曲线】按钮,可以将绘制的开放曲线的起始节点和终止节点自动闭合,形成闭合的曲线。 5、断开曲线 通过断开曲线功能,可以将曲线上的一个节点在原来的位置分离为两个节点,从而断开曲线的连接,使图形转变为不封闭状态,此外,还可以将由多个节点连接成的曲线分离成多条独立的线段。 需要断开曲线时,使用【形状】工具选取曲线对象,并且单击想要断开路径的位置。如果选择多个节点,可在几个不同的位置断开路径,然后单击属性栏上的【断开曲线】按钮。在每个断开的位置上会出现两个重叠的节点,移动其中一个节点,可以看到原节点已经分割为两个独立的节点。 4.2、切割图形 在CorelDRAW X5应用程序中,还提供了【刻刀】工具、【橡皮擦】工具和【删除虚设线】工具,使用它们可以对图形对象进行拆分、擦除的编辑操作。 1、使用【刻刀】工具

相关主题