DELPHI基础教程:Delphi图形图像编程(一)[1]
在Delphi中 专门定义了一组对象和部件用以绘制图形 完成一些简单的图像功能 利用这些对象 部件的方法 可以方便地绘制各种常用图形 通过设置它们的属性 能得到不同风格的图形 另外 通过对鼠标事件的定义 可以方便的设计图形绘制程序
本章将介绍以下内容
TCanvas TPen TBrush TColor对象的方法及属性
绘图功能的实现
TImage TPicture TBitBtn TBitmap部件的方法及属性
图像观测及处理
Graphex dpr是一个简单的图形图像应用程序 是对以上这些对象和组件的具体应用 本章将结合此程序进行讲述
图形对象概述
TCanvas Object(画布对象)
TCanvas对象是一个用于绘图的表面 在这个区域上 程序可实现各种绘图功能 很多部件(如TIMage TMemo)的Canvas属性就是TCanvas对象 在部件上绘制图形就是在部件的画布上绘制 TCanvas的Brush Pen Font属性分别是TBrush TPen TFont对象 它们用于定义绘制图形的风格 关于TBrush TPen对象 下节中将详细介绍
画布的笔的位置定义在PenPos属性中 可用MoveTo方法来移动笔 如果要在画布上输出文本 可用Textout方法
TCanvas有对象很多方法 可完成常用的绘图功能 现将方法及功能简介
Arc Arc(x y x y x y x y : Integer)
Arc方法在椭圆上画一段弧 椭圆由(x y ) (x y ) 两点所确定的椭圆所决定 弧的起点是椭圆圆周和椭圆中心与(x y )连线的交点 弧矩形终点是椭圆圆周和椭圆中心与(x y )连线的交点 以逆时针方向画弧
Chord Chord(x y x yx x y x y : Integer)
Chord方法连接椭圆上的两点 椭圆由(x y ) (x y ) 两点所确定的矩形决定 (x y )是始点 (x y )是终点
Brushcopy Brushcopy(const Dest : TRect;Bitmap : TBitmap;const Source TRect;Color : TColor)
Brushcopy方法把位图的一部分复制到画布的某个矩形区域 并用画笔的当前颜色替换位图的颜色 参数Dest定义画布的一个矩形区域 该矩形用以填充位图 Bitmap定义位图 Source定义位图中的矩形区域 该区域上的位图将被复制 Color定义画笔中 用以替换位图的颜色
CopyRect CopyRect(Dest : TRect;Canvas : TCanvas; Source TRect)
此方法从另一个画布对象上复制部分图像到该画布 Canvas表示源画布 Source是源画布上要复制的图像区域 Dest表示目标画布上将接受复制图像的矩形区域
Draw Draw(x y : Integer;Graphic : TGraphic)
此方法在画布给定的象素点坐标(x y)处画Graphic所给的图像 该图像可以是位图 图标或元位图
Ellips Ellips(x y x y : Integer)
Ellips方法在画布指定的矩形边界上画一个椭圆 (x y )是矩形左上角的象素坐标 x y 是矩形右下角的象素坐标 如果矩形形成一个区域 将出现一个椭圆
LineTo LineTo(x y : Integer)
LineTo从当前位置画一条线至(x y)所指定的位置 并把笔的位置移至(x y)
MoveTo MoveTo(x y : Integer)
MoveTo 将笔的当前位置设置到点(x y)处 笔的当前位置在PenPos属性中 改变笔的当前位置使用MoveTo方法 不要设法改变PenPos的值
Die Die(x y x y x y x y : Longint)
Die方法绘制椭圆的一部分 椭圆由点(x y ) (x y )所指定的矩形所决定 制的那部分由椭圆中心到(x y ) (x y )两点的两条辐射线所决定
Polygon Polygon(Points : array of TPrint)
Polygon方法在画布上绘制一系列的点 各点依次连成线 最后将首尾两点相接形成一个区域 并用当前笔刷填充此区域
Polyline Polyline(Ports : array of TPort)
Polyline方法在画布上用当前画笔绘制一系列的点 各点依次连成线
StretchDraw StretchDraw(Const Rect : TRcct : Graphic : TGraphic)
此方法在Rect参数指定的矩形内画一图像 图像延伸改变大小以适应矩形
Rectangle Rectangle(X y x y : Integer)
Rectangle方法在画布上用当前画刷绘制矩形 (x y )是矩形的左上角 (x y )是矩形的右下角
RomlRect RomlRect((x y x y x y : Integer)
DrawFocuseRect
DrawFocusRect(Const Rect : TRect)
此方法绘制一矩形以指示此矩形获得焦点 此方法是异或(XOR)函数 第二次调用时原有矩形将消失 DrawFocuseRect绘制的矩形不能滚动 要实现滚动功能则先调用此方法使矩形消失 待滚动过后重新绘制
lishixinzhi/Article/program/Delphi/201311/25247