• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Delphi下的GDI+编程[2]DrawLine-绘制直线

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

例一效果图:

 

在GDI+中,绘制直线是通过TGPGraphics类的DrawLine方法实现的,此类的一些方法如下:

DrawLine(线条)

DrawRectangle(矩形)

DrawEllipse(椭圆)

DrawPolygon(多边形)

DrawArc(弧形)

DrawCurve(基数样条)

DrawBezier(贝塞尔样条)

当然,要想在程序上画出来我们还需要一个TGPPen类,此类也有一些方法,如下:

SetStartCap(设置起始笔帽)

SetEndCap(设置末端笔帽)

SetDashStyle(设置画笔类型)

SetColor(设置画笔颜色)

SetWidth(设置画笔宽)

步骤:

新建工程,窗口宽和高都设为250好了,再编辑Form1的OnPaint事件代码,如下:

unit 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));
     {参数是点(整数),也就是线头的那一点(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;

 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
MATLAB GUI制作快速入门发布时间:2022-07-18
下一篇:
Warshall算法的matlab实现(计算传递闭包)发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap