再学 GDI+[9] DrawPolygon - 绘制多边形
2010-12-31 10:54
766 查看
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormPaint(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} uses GDIPOBJ,GDIPAPI; var i:Integer = 0; PtArr:array of TGPPoint; procedure TForm1.Button1Click(Sender: TObject); begin i:=0; SetLength(PtArr,i); Text:=IntToStr(i); Repaint; end; procedure TForm1.Button2Click(Sender: TObject); begin Repaint; end; procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Canvas.Ellipse(x-2,y-2,x+2,y+2); Inc(i); SetLength(PtArr,i); PtArr[i-1]:=MakePoint(x,y); Text:=IntToStr(i); end; procedure TForm1.FormPaint(Sender: TObject); var g:TGPGraphics; p:TGPPen; begin g:=TGPGraphics.Create(Canvas.Handle); g.Clear(aclWhite); p:=TGPPen.Create(aclRed,2); {如果是动态数组的话, 需要 @PtArr, 但动态数组本身就是个指针} g.DrawPolygon(p,PGPPoint(PtArr),Length(PtArr)); p.Free; g.Free; end; end.
相关文章推荐
- 再学 GDI+[9]: DrawPolygon - 绘制多边形
- CCDrawNode(是一个节点有drawDot drawSegment drawPolygon方法 可以类绘制点 线段 多边形--与drawing primitives不同 采用批渲染)
- 【Silverlight】Bing Maps学习系列(五):绘制多边形(Polygon)图形
- 用线框模式绘制多边形 glPolygonMode
- Delphi下的GDI+编程[10] 绘制饼形-DrawPie
- GDI+ 学习记录(15) 多边形 - Polygon
- 再学 GDI+[13] DrawBezier - 绘制贝塞尔线
- WinAPI: Polygon - 绘制多边形
- PolygonDrawingUtil 多边形绘制
- 【Silverlight】Bing Maps学习系列(五):绘制多边形(Polygon)图形 推荐
- 再学 GDI+[6]: DrawPie - 绘制饼形
- [RGEOS]绘制多边形Polygon
- 【Silverlight】Bing Maps学习系列(五):绘制多边形(Polygon)图形
- 再学 GDI+[10]: DrawClosedCurve - 绘制闭合曲线
- mapping toolbox中如何绘制点(Point),线段(Line)和多边形(Polygon)
- 再学 GDI+[11]: DrawCurve - 绘制曲线
- 【Silverlight】Bing Maps学习系列(五):绘制多边形(Polygon)图形
- 利用GDI+绘制任意边数的多边形窗体
- 再学 GDI+[13]: DrawBezier - 绘制贝塞尔线
- drawRect 绘制矩形 drawCircle 绘制圆形 drawOval 绘制椭圆 drawPath 绘制任意多边形 * drawLine 绘制直线 drawPoin 绘制点