Delphi下的GDI+编程[2] DrawLine - 绘制直线
生活随笔
收集整理的這篇文章主要介紹了
Delphi下的GDI+编程[2] DrawLine - 绘制直线
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
例一效果圖:
?
在GDI+中,繪制直線是通過TGPGraphics類的DrawLine方法實現的,此類的一些方法如下:
DrawLine(線條)
DrawRectangle(矩形)
DrawEllipse(橢圓)
DrawPolygon(多邊形)
DrawArc(弧形)
DrawCurve(基數樣條)
DrawBezier(貝塞爾樣條)
當然,要想在程序上畫出來我們還需要一個TGPPen類,此類也有一些方法,如下:
SetStartCap(設置起始筆帽)
SetEndCap(設置末端筆帽)
SetDashStyle(設置畫筆類型)
SetColor(設置畫筆顏色)
SetWidth(設置畫筆寬)
步驟:
新建工程,窗口寬和高都設為250好了,再編輯Form1的OnPaint事件代碼,如下:
unit Unit1; interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs; type //定義組件與組件事件或過程函數TForm1 = class(TForm) procedure FormPaint(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}uses GDIPOBJ, GDIPAPI; {加入這兩個單元}procedure TForm1.FormPaint(Sender: TObject); varg: TGPGraphics; {定義圖形類變量}p: TGPPen; {定義畫筆類變量} beging := TGPGraphics.Create(Canvas.Handle);{創建圖形對象,參數為模塊句柄,這里用的的畫布句柄}p := TGPPen.Create(MakeColor(255,0,0),2);{創建畫筆對象,參數1為顏色,參數2為筆寬,可以只留一個參數1,參數2默認為1}g.Clear(MakeColor(255,255,255));{清除整個繪圖面并以指定背景色填充這里用白色填充}p.SetColor(aclBlue); {設置顏色}p.SetWidth(10); {設置筆寬}g.DrawLine(p,20,40,200,40);{參數是整數,參數1、2為線頭距左、距上, 參數3、4為線尾距左、距上。}g.DrawLine(p,MakePoint(20,60),MakePoint(200,60));{參數是點(整數),也就是線頭的那一點(X,Y),還有就是線尾的那一點(X,Y)}g.DrawLine(p,20.9,80.0,200.9,80.0);{參數是小數,可以使數值更加精確,參數1、2為線頭距左、距上,參數3、4為線尾距左、距上。}g.DrawLine(p,MakePoint(20.9,100.0),MakePoint(200.9,100.0));{參數是點(小數),可以使數值更加精確,也就是線頭的那一點(X,Y),還有就是線尾的那一點(X,Y)}g.Free; {釋放圖形對象}p.Free; {釋放畫筆對象} end;?
?
轉載于:https://www.cnblogs.com/keyvip/archive/2010/10/10/1847197.html
總結
以上是生活随笔為你收集整理的Delphi下的GDI+编程[2] DrawLine - 绘制直线的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何利用.pdb文件去调试
- 下一篇: 利用序列化进行文件读写