第四章一个简单的二维光栅图形软件包 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 );