构造函数


GDI+可以通过以下四种方法创建Graphics(图形环境)对象:

1.通过窗体canvas的句柄创建,如:

var
  g:TGPGraphics;
  p:TGPPen;
begin
  g:=TGPGraphics.Create(Canvas.Handle);
  p:=TGPPen.Create(aclRed,2);
  g.DrawLine(p,20,40,150,40);

  p.Free;
  g.Free;
end;

2.通过其它有canvas的VCL画布句柄创建,如:

var
  g:TGPGraphics;
  p:TGPPen;
begin
  g:=TGPGraphics.Create(Image1.Canvas.Handle);
  p:=TGPPen.Create(aclRed,2);
  g.DrawLine(p,20,40,150,40);

  p.Free;
  g.Free;
end;

3.通过位图(TGPBitmap)创建Graphics,如:

 

var
  g1,g2:TGPGraphics;
  bit:TGPBitmap;
  p:TGPPen;
begin
  bit:=TGPBitmap.Create(152,42);   //创建一个宽152,高42的位图对象
  g1:=TGPGraphics.Create(bit);     //通过位图创建Graphics (g1)
  p:=TGPPen.Create(aclRed,2);      //创建画笔对象
  g1.DrawEllipse(p,0,0,150,40);    //在g1上画一个椭圆,此时的g1还在内存中,我们还看不到
  g2:=TGPGraphics.Create(Canvas.Handle); //通过窗体canvas的句柄创建另一个Graphics (g2)


  g2.DrawImage(bit,0,0,150,40);   //把g1当成图片画在g2上

  p.Free;
  bit.Free;
  g1.Free;
  g2.Free;
end;

4.通过位图(TGPBitmap)创建Graphics,如:

var
  g1,g2:TGPGraphics;
  img:TGPImage;
  p:TGPPen;
begin
  img:=TGPImage.Create('d:\mm.jpg');   //从指定文件名创建一个图像对象
  g1:=TGPGraphics.Create(img);     //通过图像对象创建Graphics (g1)
  p:=TGPPen.Create(aclRed,2);      //创建画笔对象
  g1.DrawEllipse(p,0,0,150,40);    //在g1上画一个椭圆,此时的g1还在内存中,我们还看不到
  g2:=TGPGraphics.Create(Canvas.Handle); //通过窗体canvas的句柄创建另一个Graphics (g2)


  g2.DrawImage(img,0,0,img.GetWidth,img.GetHeight);   //把g1(图形环境)当成图片画在g2上

  p.Free;
  img.Free;
  g1.Free;
  g2.Free;
end;


 Graphics类(图形环境)提供了很多方法给我们调用,以下是方法表:


DrawLine                 绘制直线

DrawLines               绘制一组直线

DrawRectangle         绘制矩形

DrawRectangles       绘制一组矩形

DrawEllipse              绘制椭圆

DrawCurve              绘制曲线(基数样条)

DrawClosedCurve     绘制闭合曲线

DrawBezier              绘制贝塞尔曲线

DrawBeziers            绘制一组贝塞尔曲线

DrawArc                 绘制弧线

DrawPie                  绘制扇形(饼形)

DrawPolygon           绘制多边形

DrawString             绘制字符串

DrawIcon                绘制图标

DrawIconUnstretched

DrawImage              绘制图像

DrawImageUnscaled

DrawImageUnscaledAndClipped

DrawPath                 绘制路径

 

FillRectangle             填充矩形

FillRectangles           填充一组矩形

FillEllipse                  填充椭圆

FillClosedCurve         填充闭合曲线

FillPie                       填充扇形

FillPolygon                填充多边形

FillRegion                 填充区域

FillPath                    填充路径

 

Clear                       清空图形环境(画布)

BeginContainer

EndContainer

CreateObjRef

Dispose

CopyFromScreen

Equals

ExcludeClip

Finalize

Flush

FromHdc

FromHdcInternal

FromHwnd

FromHwndInternal

FromImage

GetContextInfo

GetHalftonePalette

GetHashCode

GetHdc

GetLifetimeService

GetNearestColor

GetType

InitializeLifetimeService

IntersectClip

IsVisible

AddMetafileComment

EnumerateMetafile

MeasureCharacterRanges

MeasureString

MemberwiseClone

MultiplyTransform

ReleaseHdc

ReleaseHdcInternal

ResetClip

ResetTransform

Restore

RotateTransform

Save

ScaleTransform

SetClip

ToString

TransformPoints

TranslateClip

TranslateTransform

 

posted on 2010-12-31 10:27  巅枫  阅读(2163)  评论(0)    收藏  举报