基础知识介绍\n VC++具有强大的绘图功能,在Windows平台下,GDI(Graphics Device Interface)图形设备接口被抽象为上下文CDC类(Device Context,DC)。Windows平台直接接收图形数据信息的不是显示器和打印机等硬件设备,而是CDC对象。\n\n1、CPoint 类:存放点坐标\n//定义坐标为(100,50)的点P0\nCPoint P0(100,50);\n2、CRect 类:存放矩形两个顶点坐标\n//左上顶点为(10,20),右下顶点为(100,50)的矩形\nCRect rect(10,20,100,50);\n 3、CSize 类:存放矩形的宽度和高度\n//构造函数有5种\nCSize( );\nCSize( int initCX, int initCY );\nCSize( SIZE initSize );\nCSize( POINT initPt );\nCSize( DWORD dwSize ); // 低字设为cx、高字设为cy\n 注:类CSize是对Windows结构SIZE的封装,凡是能用SIZE结构的地方都可以用CSize代替。\n\n 4、CPen 类:封装了GDI画笔,用于绘制图形边界线\n//定义新画笔\nCPen NewPen;\n//画笔参数含义为(样式,宽度,颜色)\nNewPen.CreatePen(0, 1, RGB(0, 255, 0)); //实线,1像素宽,绿色\n5、CBrush 类:封装了GDI画刷,用于填充图形内部\n//定义新画刷\nCBrush NewBrush;\nNewBrush.CreateSolidBrush(0xFF0000);//蓝色\n三、颜色表示的简单介绍\n 相信细心的你已经发现,上述画笔类和画刷类的参数中,都有颜色出现,但形式并不相同。本文只作简单介绍,感兴趣的朋友可以自行学习。\n\n 我们平常所看到的屏幕颜色是通过一个个像素点显示的,每个像素包括三种基色——红色,绿色和蓝色。一个像素需要占用24bit,那么一种基色占8bit,不难理解,其深浅程度可分为256种。\n\n 我们用来表示颜色有两种方法,RGB 法或者HEX 法(十六进制法)。\n\n1、RGB 法\nRGB(red, green, blue):其中red、green、blue均为数字。\n\n例:红色表示为RGB(255,0,0)\n\n2、HEX 法(十六进制法)\nRGB 法中,三个参数均为十进制表示,顺序依次为“红绿蓝”。十六进制表示法,顾名思义,将十进制转换为十六进制对颜色进行表示,但实现原理是相同的。需要注意的一点是,HEX 法中三个基色的顺序与RGB 法相反,是“蓝绿红”。\n\n例:红色表示为0x0000FF\n\n注:每种 RGB)的值。白色参数值均为255(FF),黑色参数值均为0(00)。