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