技术经验分享: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 //代码效果参考:https://v.youku.com/v_show/id_XNjQwMDQwNzE2MA==.html

Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type //定义组件与组件事件或过程函数 TForm1 = class(TForm)procedure FormPaint(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} uses GDIPOBJ, GDIPAPI; {加入这两个单元} procedure TForm1.FormPaint(Sender: TObject);var g: TGPGraphics; {定义图形类变量} p: TGPPen; {定义画笔类变量} begin g := 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));//代码效果参考: https://v.youku.com/v_show/id_XNjQwMDQxMTUzMg==.html

{参数是点(整数),也就是线头的那一点(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;
"
image.png
相关文章
Delphi使用经验笔记。
1.流:(TStream)使用流里要注意流的位置(Position),否则小心读不到东西。 2.接口:(Interface)接口变量不再需要的时候不要自己去调用MyInterface._release()函数。
819 0
|
SQL 测试技术 数据库
082_《Delphi软件工程案例精解》
《Delphi软件工程案例精解》 Delphi 教程 系列书籍 (082) 《Delphi软件工程案例精解》 网友(邦)整理 EMail: shuaihj@163.com 下载地址: Part1 Part2 Part3 Part4 书名:Delphi软件工程案例精解 图书编号:1048690 出版社:电子工业出版社 定价:35.0 ISBN:712100561 作者:王业龙 出版日期:2005-01-01 版次:1 开本:小16开 内容简介 本书分3篇,共9章。
1084 0
|
Java C语言
进阶C语言之路,携君之手,步入程序大堂
进阶C语言之路,携君之手,步入程序大堂
85 0
|
程序员 数据库 开发工具
109_《Delphi4核心编程技术》
《Delphi4核心编程技术》 Delphi 教程 系列书籍 (109) 《Delphi4核心编程技术》 网友(邦)整理 EMail: shuaihj@163.
1046 0
|
9月前
|
敏捷开发 算法 测试技术
C/C++ 编程大师的秘籍:轻松掌握高质量代码之道
C/C++ 编程大师的秘籍:轻松掌握高质量代码之道
225 0
|
2月前
编程之路:从代码到哲学的思考之旅
在数字世界的编织中,每一行代码都是我们与机器对话的语言。本文将带领读者穿梭于编程的世界,探索技术背后的深层意义,以及如何通过代码实现个人成长和对世界的理解。我们将一起走进编程的内在逻辑,解锁那些隐藏在键盘敲击声中的哲理,并分享一些实用的编程技巧。
40 3
|
SQL BI 数据处理
080_《Delphi技术方案宝典》
《Delphi技术方案宝典》 Delphi 教程 系列书籍 (080) 《Delphi技术方案宝典》 网友(邦)整理 EMail: shuaihj@163.
1408 0
|
存储 算法 安全
2020年程序员/工程师必看的三本编程书籍
因为新冠肺炎疫情,很多同学都宅在家中,所以有大把的时间进行学习和充电。作为程序员或工程师的你,想要在代码方面更精进一步的话,应该看哪些书?
3724 0
2020年程序员/工程师必看的三本编程书籍
|
Java 程序员 编译器
C语言程序设计教程任务;初步认识C语言,携君之手,步入编程之路。
C语言程序设计教程任务;初步认识C语言,携君之手,步入编程之路。
131 0
C语言程序设计教程任务;初步认识C语言,携君之手,步入编程之路。
|
6月前
|
Rust 安全 Go
揭秘Rust语言:为何它能让你在编程江湖中,既安全驰骋又高效超车,颠覆你的编程世界观!
【8月更文挑战第31天】Rust 是一门新兴的系统级编程语言,以其卓越的安全性、高性能和强大的并发能力著称。它通过独特的所有权和借用检查机制解决了内存安全问题,使开发者既能享受 C/C++ 的性能,又能避免常见的内存错误。Rust 支持零成本抽象,确保高级抽象不牺牲性能,同时提供模块化和并发编程支持,适用于系统应用、嵌入式设备及网络服务等多种场景。从简单的 “Hello World” 程序到复杂的系统开发,Rust 正逐渐成为现代软件开发的热门选择。
110 1

热门文章

最新文章

相关实验场景

更多