画点
像素点的绘制不过是改变单个像素点的颜色。
SetPixel( ) 试图用指定的颜色画一个像素,返回绘制时使用的实际颜色
SetPixelV( ) 与上面的基本相同,但不用返回绘制时使用的实际颜色,因而速度更快
画线
画线即改变屏幕上一系列像素点的颜色。
M o v e To( ) 开始画线、弧和多边形时,把光标移动到一个初始位置
L i n e To( ) 画一条从初始位置到另一个点的直线
Arc( ) 画一段弧
A r c To( ) 画一段弧,并更新初始位置
AngleArc( ) 画一条线,然后画一段弧,并更新初始位置
PolyDraw( ) 画一系列线段和B e z i e r样条
PolyLine( ) 画一系列线段
PolyPolyLine( ) 画多个系列线条
画形状
这里的形状是一系列封闭线条。
Rectangle( ) 画一个矩形Pie( ) 画一个饼状楔形
RoundRect( ) 画一个圆角矩形
Draw3dRect( ) 画一个三维矩形
Polygon( ) 画一个多边形DrawEdge( ) 画一个矩形的边缘
PolyPolygon( ) 创建一个或多个多边形DrawFrameControl( ) 画一个框架控件
Ellipse( ) 画一个椭圆
形状填充和翻转
填充和翻转改变一个形状内的所有像素点颜色。
FillRect( ) 填充一个矩形FillSolidRect( ) 用一单色填充一个矩形
InvertRect( ) 反转一个矩形的颜色ExtFloodFill( ) 用当前画刷填充一个区域,提供比FloodFill( )成员函数更多的灵活性FrameRect( ) 画一个矩形的边框
下面三个函数包括一个区域对象,它实际上是一个线条列表,形成一个由设备环境维护
的形状。有关区域的详细讨论参见4 . 4 . 8节“剪裁属性”。
FillRgn( ) 填充一个区域InvertRgn( ) 反转一个区域的颜色
FrameRgn( ) 画一个特定区域的边框
滚动
通过滚动,可移动屏幕周围像素颜色。
ScrollDC( ) 左、右、上、下移动屏幕图像。
绘制文本
我们可能会认为文本是打印的,不是画的;但在一个图形用户界面中,甚至一个文本字
符都是由像素构成的一幅图。
TextOut( ) 在一个指定的位置,输出一个字符串
E x t TextOut( ) 在一个矩形区域里输出一个字符串
Ta b b e d TextOut( ) 基于用该函数传输的一个表,在指定位置输出一个字符串,并将字符串中的任何制表符转换为空格D r a w Text( ) 在指定的矩形域里绘制文本,但比TextOut( )有更多的选项,如把文本居中和
显示多行文本
绘制位图和图标
一个位图或图标只是大量像素的颜色阵列。通常有一个标题,用来指示在一行中有多少
像素点,以便一个画图例程知道什么时候开始下一行。通常,位图绘制例程只是把像素阵列
拷贝到视频内存中。图标具有透明色这一附加的能力,换句话说,当一个图标被绘制在屏幕
上时,它的每一点的颜色都可被屏幕上原有的颜色代替。
DrawIcon( ) 在指定的位置画一个图标
BitBlt( ) 从指定的设备环境中拷贝一个位图,通常是从磁盘中装入或在内存中创建,如
前面所述
StretchBlt( ) 与BitBlt( )基本相同,但它试图伸展或压缩一个位图以适应目标
PatBlt( ) 创建一个位模式
有关绘图的例子参见第11章。
补充: