AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > C++

TCanvas类

51自学网 http://www.51zixue.net

TCanvas::CopyMode
   确定如何将复制的图像放到画布上面。
  __property int Copy Mide = {read = FCopyMode, write = FCopyMode, default = 13369376 };
   设置copyMode属性,可以改变画出的图像到画布上面的路径。当使用CpyReet 方法从另外的画布上复制图像时,使用CopyMode属性。当TBitmap 对象画它们自身到一个画布上时,CopyNode属性还被TBitmap对象使用。
   下表给出了CopyMode属性可能的取值,并对每一取值进行了描述。
取值 说 明
cmBlackness 用黑色填充画布的矩形目标
cmDstInvert 忽略源图,将画布上的图像反转
cmMergeCopy 将画布上的图像与源位图进行AND操作
cmMergePaint 将画布上的图像与反转的源位图进行OR操作
cmNotSrcCopy 复制反转的源位图与画布
cmNotSrcErsae 将画布上的图像与源位图进行OR操作,然后再反转
cmPatCopy 复制源式样至画布
cmPatInvert 将画布上的图像与源式样进行XOR操作
cmPatPaint 使用OR操作使反转的源位图与源式样结合,并将操作结果与画布上的图像进行OR操作
cmSsrcAnd 将画布上的图像与源位图进行AND操作
cmSrcCopy 复制源位图至画布
cmSrcErase 将画布上的图像进行反转,然后将其与源位图进行XOR操作
cmSrcInvert 将画布上的图像与源位图进行OR操作
cmWhiteness 用白色填充画布上的矩形目标

TCanvas::Font
   当在图像上写的文本时,使用Font属性指定使用文本的字体
  __property TFont* Font = { read = FFont, write = SetFont } ;
   对图像上的文本,使用Font属性可以指定使用文本的字体。Font 属性的数值是TRont 对象。设置TFont对象的属性,可以指定使用字体的外观、颜色、大小以及风格等。
   注意:仅对指定TFont对象的 Font 属性进行指定,而不是替代当前的TFont对象。

TCanvas::HandIe
   是针对画布的Windows GDI句柄。
  __property HDC HandIe = { read = GetHandIe write = SetHandIe ,nodefauIt } ;
   对于卷入画布的设备场境,必须设置HDC 的Handle 属性。当窗口控件对Windows 着色信息进行响应时,绘图所需的HDC 即转化为PrtDeviceContext 方法 。在其他情况下,通过调用控件的GetDeviceContext方法,也能获得HDC。此外,对打印机或者存储器,Windows 还提供了能够获得HDC的API调用方法。
   读Handle 属性可以对由使用需要设备场境句柄的进行API调用的TCanvas 对象提供绘图设备进行补充。绝大多数的Windows GDI调用,需要HDC。
   TCancas对象没有自己的HDC。应用软件必须建立一个HDC,并对Handle 属性进行设置。当画布不再需要时,应用软件应释放HDC。对已有效一个有HDC画布,进行Handle属性进行设置时,将不能自动释放初始的HDC。
   注意:TCanvas 对象的一些字体,如TControlCanvas , 有其自己的HDC。不要为这些对象设置Handle属性。它们使用并释放自己的Handle属性。

TCanvas::LocKcount
   表示画布被锁定的次数,以避免与其他线条相冲突。
  __properrty int LockCount = {read = FLockCount,nodefault }:
   读LockCount属性可以查明画布是否被锁定。每当调用Lock方法防止画布与其他线条相冲突时,LockCount属性增加。调用Unlock方法时,LockCount 属性减少。当LockCount属性为0时,其他线条可以在画布上画出。

TCanvas::Pen
   指定画布为画线和画图形轮廓而使用的画笔种类。
  __property TPen * Pen + {read = FPen, write =SetPen };
   在一幅图像中,设置Pen 属性可指定画线和画图形轮廓而使用的画笔种类。Pen属性的数值是TPen对象。设置TPeb对象的属性,可以指定画笔的颜色、风格、宽度以及样式等。
   注意:仅对指定TPen 对象的Pen属性进行设置,而不是替代当前的TPen对象。

TCanvas::PenPos
   用来指定画笔当前的作图位置。
  __property tag POINT penPos = {read = GetPenPos , write = SetPos },
   读 PernPos 可以知道画笔当前的傻图位置。它是用 LineTo 方法作图的起始点位置。设置 PenPos 属性相当于调用 MoveTo 方法 。

TCanvas::Pixels
   指定当前 ClipRect是中点颜色。
  __property TColor Tixels [ int Y ] = { read = Get Pixel , write = SetPixe } ';
   读取Tixels 读属性可以知道位于具体像素位置的画面颜色。写Pixels属性可以改变画面上某个特定像素的颜色。使用Pixels 属性可以细化图像效果。Pixels 属性还可以用于确定被FillRect方法使用的颜色。
   不是每一个设备场境都支持Pixels属性。这样的设备场境,读出的Pixels属性返回值为--- 1。则对这样的设备场境进行Pixels 属性设置是没有用的。
   注意: Pixels属性仅对位于当前Cliprect 数值内的像素有效。

方法
TCanvas::~TCanvas
   删除一个TCanvas的实例。
  __fastcall virtual ~ TCanvas(void);
   在应用程序中,不要直接调用~TCanvas,而应调用delete。
   ~TCanvas首先释放为Font、Brush和Pen属性创建的TFont、TBrush和TPen对象。然后再释放TCanvas对象的内存。

TCanvas::Arc
   沿由指定矩形确定的椭圆的边,可以在图片上画出一段孤线。
  void __fastcall Arc{int X1, int Y1, int X2, int Y2, int X3, int Y3, int X4, int Y4};
   使用Arc过程,用当前画笔画一个椭圆形曲线。弧线横跨以点(x1, y1)和点(x2, y2)为边界的椭圆边。根据椭圆形周长,按照逆时针方向,从起始点至结束点画出弧线。起始点为椭圆中心和点(x3, y3)确定的直线与椭圆的交点。结束点为椭圆中心和点(x4, y4)确定的直线与椭圆的交点。注意:在Windows95中,x1+x2的和,以及y1+y2的和,不能超出32768。而且,x1+x2+y1+y2的和也不能超出32768。在Windows NT中,使用Windows API调用SetrcDirection方法,画弧线的方向可以改变为顺时针方向。

TCanvas::BrushCopy
   复制位图的一部分到位于画布上的矩形中,并且用画布刷子的颜色替代图像的颜色。
  void__fastcall BrushCopy(const Windows::TRect & Dest, TBitmap * Bitmap, const Windows::TRect & Source, Tcolor color);
   使用BrushCopy可以获得诸如使复制图片部分透明这样的特殊效果。BrushCopy过程具有向后兼容性能。使用TImageList方法可以替代BrushCopy过程。为了使运用BrushCopy过程复制出来的图片具有部分透明效果,应当指定画布表面的颜色(如clBackground)作为Brush属性的Color参数,然后调用BrushCopy过程。

TCanvas::Chord
   画一个由一条直线和一个椭圆相交,所构成的闭合图形。
  void__fastcall Chord (int X1, int Y1, int X2, int Y2, int X3, int Y3, int X4, int Y4);
   使用Chord可以创建一个由弧形及链接弧形两个端点的直线所构成 的图形。弦是椭圆以点(x1,y1)和点(x2,y2)为边界的一部分。椭圆被点(x3,y3)和点(x4,y4)之间的一条直线分割成两部分。
   弦的边从点(x3,y3)开始,按逆时针方向沿椭圆运行到点(x4,y4),最后一直回到点(x3,y3).如果点(x3,y3)和点(x4,y4),不在椭圆表面上,相应的弦的拐点,取在椭圆边上截断直线最接近的点。使用Pen属性数值可以画出弦的轮廓,使用Brush属性数值可以对图形进行填充。在Windows95中,x1+x2的和,以及y1+y2的和,不能超出32 768。而且,x1+x2+y1+y2的和也不能超出32 768。在Windows NT中,使用Windows API调用SetArcDirection方法,画弦的方向可以改变为顺时针方向。

TCanvas::CopyRect
   将另一个画布上图形的一部分复制到这个画布上。
  void__fastcall CopyRect (const Windows::TRect& Dest, TCanvas* Canvas, const Windows::TRect & Source);
   使用CopyRect过程,可以将另一个画布上图形的一部分,转移到TCanvas对象的图片上。Dest参数,指定了将要复制的源图形存放在画布上的矩形区域。Canvas参数指定与源图像相关的画布。Source参数指定将要复制的源画布部分的矩形区域。源画布部分,通过使用CopyMode方法的指定模式来进行复制。

TCanvas::Draw
   在给出的坐标(X,Y)位置处,Draw在画布上输出由Graphic参数指定的图像。
  void __fastcall Draw(int X, int Y, TGraphic* Graphic);
   调用Draw可以在画布上画出一个图像。Draw调用图形的Draw方法。图片输出到一个图形大小确定、左上角位于点(X,Y)处的矩形区域。
   图像可以是点位图、图标或者图元文件。如果图像是一个Bitmap对象,点位图通过使用CopyMode方法的数值输出。

TCanvas::DrawFocusRect
   画一个矩形框,通常用于表示矩形内的控件对象具有输入焦点。
  void __fastcall DrawFocusRect( const Windows::TRect &Rect ) ;
   当控件获得或失去输入焦点时,调用DrawFocusRect可以画出控件图片的边框。因为DrawFocusRect使用XOR功能,因此,当第二次调用drawFocusRect时,相同的矩形框将从屏幕上消失。
   使用DrawFocusRect 画了出的矩形框,为能进行滚动。为了滚动由DrawFocusRect 画出的包含矩形框的区域,首先调用DrawFocusRect ,从屏幕上移去矩形框,滚动该区域,然后再调用drawFocusRect , 在新位置上画出矩形框。

 
 

上一篇:C++的类和类的定义  下一篇:TScreen类