C++Builder中使用图形C++Builder的VCL图形组件封装了Windows图形

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C++Builder中使用图形
C++Builder的VCL图形组件封装了Windows图形设备接口(GDI,Graphics Device Interface),使得在Windows程序设计中添加图形也变得很容易。

在C++Builder应用程序中绘制图形,应该在图形对象(如Form,Image等)的画布(Canvas)中绘制,而不是直接在对象中绘制。

画布是图形对象的属性,同时它本身又是对象。

画布对象的一个主要的优点是它能够有效地处理资源并且能管理设备场境。

所以应用程序可以用相同的方法在屏幕、打印机、位图或者图元文件中绘图。

直接在控件的画布上绘图,该图就会立即显示。

画布(Canvas)的主要属性和方法:
一、使用画笔(Pen)。

画布的Pen属性控制线条出现的方式,包括用来绘制形状外框的线条。

画笔本身有四个属性:Color,Width,Style和Mode:
(1)Color属性:更改画笔的颜色;
Canvas->Pen->Color=color;
还可以用rgb的各分量的值来表示一种颜色:
Canvas->Pen->Color=RGB(214,214,200);
(2)Width属性:更改画笔的宽度;
Canvas->Pen->Width=n;
(3)Style属性:更改画笔的样式;
Canvas->Pen->Style=psDash;
(4)Mode属性:更改画笔的模式。

Canvas->Pen->Style=pmCopy;
二、使用画刷(Brush)
画布的Brush属性控制填充区域的方式,包括形状的内部区域。

画刷有三个属性:
(1) Color属性:更改填充颜色;
Canvas->Brush->Color=color;
(2) Style属性:更改画刷样式;
Canvas->Brush->Style=bsSolid;
(3)使用位图作为画刷模式。

BrushBmp->LoadFromFile("MyBitmap.bmp");
Form1->Canvas->Brush->Bitmap = BrushBmp;
Form1->Canvas->FillRect(Rect(0,0,100,100));
三、单独设置和获取单个象素点
读取:color=Canvas-> Pixels[x][y];//读取位置为(x,y)的象素的点的颜色值
Canvas->Pixels[x][y] = clRed; //把位置为(x,y)的象素值设置为红色
四、使用Canvas的方法来绘制图形对象
(1)绘制直线
Canvas->MoveTo(0, 0);
Canvas->LineTo(X, Y);//从(0,0)到(X,Y)画一条直线
(2)绘制折线
POINT points[6];
pPB->Canvas->Pen->Color = clWhite;
points[0].x = 40;
points[0].y = 10;
points[1].x = 20;
points[1].y = 60;
points[2].x = 70;
points[2].y = 30;
points[3].x = 10;
points[3].y = 30;
points[4].x = 60;
points[4].y = 60;
points[5].x = 40;
points[5].y = 10;
pPB->Canvas->Polyline(points,5);
(3)绘制矩形、椭圆形和圆角矩形
矩形:Canvas->Rectangle(0, 0, 100, 400);
椭圆形:Canvas->Ellipse(0, 0, Image1->Width, Image1->Height); 圆角矩形:Canvas->RoundRect(x, y, x + Dx, y + Dy, Dx/2, Dy/2); (4)绘制多边形
Windows::TPoint points[4];
points[0] = Point(10,10);
points[1] = Point(30,10);
points[2] = Point(130,30);
points[3] = Point(240,120);
Canvas->Polygon(points, 3);。

相关文档
最新文档