02 一个简单的二维光栅图形软件包---Windows API简介.pptVIP

02 一个简单的二维光栅图形软件包---Windows API简介.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
02 一个简单的二维光栅图形软件包---Windows API简介

第二章 一个简单的二维光栅图形软件包 ----Windows API简介 用图形软件包绘图 基本的交互处理 光栅操作 用图形软件包绘图(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 ); 用图形软件包绘图(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 ); 用图形软件包绘图(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 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 ); 基本的交互处理(1/3) 几条原则 简单一致的交互操作序列 清晰的可选项 不能有过多的选项 反馈 Undo功能 逻辑输入设备 目标:屏蔽物理设备的差异,获得系统的设备无关性 二维定位设备 键盘设备 设备驱动程序完成从物理设备到逻辑设备的映射 基本的交互处理(2/3) 输入方式 基本的交互处理(3/3) 事件驱动方式 简单的程序结构 光栅操作 画布(Canvas) 抽象的数据类型,用户可以在其中画图 包括一个像素图和一些控制信息 具有独立的坐标系 系统可以同时有多个画布,只有一个处于激活状态 屏幕是一个特殊的画布 绘图命令的作用对象是处于激活状态的画布 Windows中对应的概念:DC 例子 光栅操作 裁剪窗口 为什么裁剪? 内裁剪:保留窗口之内的图形 外裁剪:保留窗口之外的图形 UINT SetBoundsRect( LPCRECT lpRectBounds, UINT flags ); UINT GetBoundsRect( LPRECT lpRectBounds, UINT flags ); 位块拷贝 BitBlt(Bit Block Transfer) BOOL BitBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, DWORD dwRop ); 光栅操作 显示模式 为什么有显示模式? 4中简单的显示模式 覆盖/Replace 或/Or 异或/Xor 与/And 光栅操作 Windows中的显示模式 int GetROP2( )

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档