构造函数
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