湖北大学数计学院:《计算机图形学》第四章 一个简单的二维光栅图形软件包

第四章一个简单的二维光栅图形软件包 WindOws ap简介 ■用图形软件包绘图 ■基本的交互处理 ■光栅操作 湖北大学数计学院
湖北大学 数计学院 1 第四章 一个简单的二维光栅图形软件包 ----Windows API简介 ◼ 用图形软件包绘图 ◼ 基本的交互处理 ◼ 光栅操作

用图形软件包绘图(1/6) 图元的声明 1003 ◆绘图纸,屏幕,坐标系 012 1028 ◆扫描转换:将转换为点阵表示的图形 顶点(参数) 表示的图形 「扫描转换 点阵表示 的图形 用户 显示系统 湖北大学数计学院
湖北大学 数计学院 2 用图形软件包绘图(1/6) ◼ 图元的声明 ◆ 绘图纸,屏幕,坐标系 ◆ 扫描转换:将转换为点阵表示的图形 扫描转换 顶点(参数) 表示的图形 用户 点阵表示 的图形 显示系统

用图形软件包绘图(2/6) 点 COLORREF GetPixel( int x, int y)const COLORREF SetPixel( int x, int y, COLORREF crcolor 直线段 CPoint MoveTo( int x, int y BOOL LineTo( int x, int y) 折线 BOOL Polyline( LpPoint lpPoints, int nCount 10 100 bow eArray[o] 4084 bowi eArray[1] 70100 bowtieArray[2] 70 60 bowtieArray[3) 4076 bowtieArray[4] 0 x L10 60 bowl eArray[5]
湖北大学 数计学院 3 用图形软件包绘图(2/6) ◆ 点 COLORREF GetPixel( int x, int y ) const COLORREF SetPixel( int x, int y, COLORREF crColor ); ◆ 直线段 CPoint MoveTo( int x, int y ); BOOL LineTo( int x, int y ); ◆ 折线 BOOL Polyline( LPPOINT lpPoints, int nCount );

用图形软件包绘图(3/6) ◆圆弧 BOOL AngleArc( int x, int y, int rAdius float fStartAngle, float fSweepAngle ◆椭圆弧 BOOL Arc( int xl, int y1, int x2, int y2, int x3, int y3, int x4, int y4) 起始角45度 终止交270度 湖北大学数计学院
湖北大学 数计学院 4 用图形软件包绘图(3/6) ◆ 圆弧 BOOL AngleArc( int x, int y, int nRadius, float fStartAngle, float fSweepAngle ); ◆ 椭圆弧 BOOL Arc( int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4 );

用图形软件包绘图(46) 图元的属性 ◆线型、线宽 CPen( int nPen Style, int nWidth, COLORREF crColor ) BOOL CreatePen(int nPenstyle, int nwidth COLORREF crColor ◆颜色:三种指定颜色的方式 通过查色表索引值 通过颜色名称 通过红、绿、兰三分量 COLORREF GetBkColor()const COLORREF SetBkColor( CoLORREF crcolor) COLORREF GetTextColor()const COLORREF SetText Color COLORREF crColor
湖北大学 数计学院 5 用图形软件包绘图(4/6) ◼ 图元的属性 ◆ 线型、线宽 CPen ( int nPenStyle, int nWidth, COLORREF crColor ); BOOL CreatePen (int nPenStyle,int nWidth, COLORREF crColor); ◆ 颜色:三种指定颜色的方式 • 通过查色表索引值 • 通过颜色名称 • 通过红、绿、兰三分量 COLORREF GetBkColor( ) const; COLORREF SetBkColor( COLORREF crColor ); COLORREF GetTextColor( ) const; COLORREF SetTextColor( COLORREF crColor );

用图形软件包绘图(5/6) 填充图元及其属性 ◆椭圆 BOOL Ellipse( int x1, int y1, int x2, int y2) BOOL Pie( int xl, int y1, int x2, int y2, int x3, int y3, int x4, int y4) ◆多边形 BOOL Polygon( Lppoint IpPoints, int nCount ◆矩形 BOOL Rectangle( int x1, int y1, int x2, int 2); ◆填充模式 ◆均匀填色 BOOL CreateSolidBrush( COLORREF crcolor ◆以图像填充 BOOL CreatePatternBrush(*k pBitmap
湖北大学 数计学院 6 用图形软件包绘图(5/6) ◼ 填充图元及其属性 ◆ 椭圆 BOOL Ellipse( int x1, int y1, int x2, int y2 ); BOOL Pie( int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4 ); ◆ 多边形 BOOL Polygon( LPPOINT lpPoints, int nCount ); ◆ 矩形 BOOL Rectangle( int x1, int y1, int x2, int y2 ); ◆ 填充模式 ⧫ 均匀填色 BOOL CreateSolidBrush( COLORREF crColor ); ⧫ 以图像填充 BOOL CreatePatternBrush( CBitmap* pBitmap

用图形软件包绘图(6/6) 保存和恢复图元的属性:提高程序的模块化程度 字符 BOOL TextOut( int x, int y, LPCtSTR lpszString, int nCount 字宽 实高 字高 基线 原点 底空 湖北大学数计学院
湖北大学 数计学院 7 用图形软件包绘图(6/6) ◼ 保存和恢复图元的属性:提高程序的模块化程度 ◼ 字符 BOOL TextOut( int x, int y, LPCTSTR lpszString, int nCount );

基本的交互处理(1/3) 几条原则 ◆简单一致的交互操作序列 ◆清晰的可选项 不能有过多的选项 ◆反馈 解决方法:菜单、按钮、加亮、 ◆Undo功能 变灰、光标变化等等 ■逻辑输入设备 ◆目标:屏蔽物理设备的差异,获得系统的设备无关 性 ◆二维定位设备 ◆键盘设备 ◆设备驱动程序完成从物理设备到逻辑设备的映射 湖北大学数计学院
湖北大学 数计学院 8 基本的交互处理(1/3) ◼ 几条原则 ◆ 简单一致的交互操作序列 ◆ 清晰的可选项 ◆ 不能有过多的选项 ◆ 反馈 ◆ Undo功能 ◼ 逻辑输入设备 ◆ 目标:屏蔽物理设备的差异,获得系统的设备无关 性 ◆ 二维定位设备 ◆ 键盘设备 ◆ 设备驱动程序完成从物理设备到逻辑设备的映射 解决方法:菜单、按钮、加亮、 变灰、光标变化等等

基本的交互处理(2/3) 输入方式 取样(轮询)方式 中断驱动方式 事件驱动方式 湖北大学数计学院
湖北大学 数计学院 9 基本的交互处理(2/3) ◼ 输入方式 取样(轮询)方式 中断驱动方式 事件驱动方式

基本的交互处理(3/3) 事件驱动方式初始化 ◆简单的程序结构Do{ waitEvent(event); Switch(event) Case EVENTI: precedure break Case EVENT2: procedure2; break: ●·● I while(true); 湖北大学数计学院
湖北大学 数计学院 10 基本的交互处理(3/3) ◼ 事件驱动方式 ◆ 简单的程序结构 初始化; Do{ waitEvent(event); Switch(event) { Case EVENT1: precedure1; break; Case EVENT2: procedure2; break; … } }while(TRUE);
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 湖北大学数计学院:《计算机图形学》第五章 基本图形生成算法.ppt
- 湖北大学数计学院:《计算机图形学》第二章 图形设备.ppt
- 湖北大学数计学院:《计算机图形学》第一章(1-1)计算机图形学及其相关概念.ppt
- 湖北大学数计学院:《计算机图形学》第一章 绪论(余敦辉).ppt
- 北京邮电大学:《数据库设计与开发》第三章(3-1)嵌入式SQL.ppt
- 北京邮电大学:《数据库设计与开发》第二章(2-2)数据管理.ppt
- 北京邮电大学:《数据库设计与开发》第二章(2-1)数据存储.ppt
- 北京邮电大学:《数据库设计与开发》第一章(1-4)对象关系数据库.ppt
- 北京邮电大学:《数据库设计与开发》第一章(1-3)SQL.ppt
- 北京邮电大学:《数据库设计与开发》第一章(1-2)关系代数.ppt
- 北京邮电大学:《数据库设计与开发 前言.ppt
- 北京邮电大学:《数据库设计与开发》第五章(5-2) 实体联系模型.ppt
- 北京邮电大学:《数据库设计与开发》第五章(5-1)数据库设计过程.ppt
- 北京邮电大学:《数据库设计与开发》第四章 ORACLE数据库——ORACLE数据库规划与实施.ppt
- 北京邮电大学:《数据库设计与开发》第四章 ORACLE数据库——ORACLE数据库存取管理.ppt
- 北京邮电大学:《数据库设计与开发》第四章 ORACLE数据库——ORACLE数据库实例管理.ppt
- 北京邮电大学:《数据库设计与开发》第四章 ORACLE数据库——ORACLE数据库体系结构.ppt
- 北京邮电大学:《数据库设计与开发》第三章(3-3)数据库应用系统体系结构.ppt
- 《VB程序设计与应用案例》第10章 高级界面设计.ppt
- 《VB程序设计与应用案例》第7章 数据库管理.ppt
- 湖北大学数计学院:《计算机图形学》第五章(5-1)直线的扫描转换.ppt
- 湖北大学数计学院:《计算机图形学》第五章(5-4)区域填充.ppt
- 湖北大学数计学院:《计算机图形学》第六章 二维图形的运算.ppt
- 湖北大学数计学院:《计算机图形学》第七章(7-1)窗口视图变换.ppt
- 湖北大学数计学院:《计算机图形学》第七章(7-4)投影变换.ppt
- 湖北大学数计学院:《计算机图形学》第八章 交互技术与用户接口.ppt
- 湖北大学数计学院:《计算机图形学》第九章 OpenGL.ppt
- 湖北大学数计学院:《计算机图形学》第八章 交互技术与用户接口.ppt
- 湖北大学数计学院:《计算机图形学》第一章 计算机图形设备、系统和应用.doc
- 湖北大学数计学院:《计算机图形学》习题解答.ppt
- 哈尔滨工业大学:《互联网技术 INTERNET TECHNOLOGY》课程教学资源(PPT课件)GOOGLE搜索从入门到精通.ppt
- 哈尔滨工业大学:《互联网技术 INTERNET TECHNOLOGY》课程教学资源(PPT课件)第一章 Internet概述.ppt
- 哈尔滨工业大学:《互联网技术 INTERNET TECHNOLOGY》课程教学资源(PPT课件)第二章 Internet分层体系结构.ppt
- 哈尔滨工业大学:《互联网技术 INTERNET TECHNOLOGY》课程教学资源(PPT课件)第三章 IP地址与地址解析.ppt
- 哈尔滨工业大学:《互联网技术 INTERNET TECHNOLOGY》课程教学资源(PPT课件)第四章 TCP/IP协议.ppt
- 哈尔滨工业大学:《互联网技术 INTERNET TECHNOLOGY》课程教学资源(PPT课件)第五章 域名体系与域名系统.ppt
- 哈尔滨工业大学:《互联网技术 INTERNET TECHNOLOGY》课程教学资源(PPT课件)第四章 TCP/IP协议.ppt
- 哈尔滨工业大学:《互联网技术 INTERNET TECHNOLOGY》课程教学资源(PPT课件)第七章 HTTP协议.ppt
- 哈尔滨工业大学:《互联网技术 INTERNET TECHNOLOGY》课程教学资源(PPT课件)第七章 电子邮件(E-mail).ppt
- 《C语言设计》课程教学资源(PPT课件)第七章 数组.ppt