演示Pen对象的各种风格

转载 2007年10月05日 15:47:00
本实例将向读者说明,如何在Delphi中利用Pen对象来绘制虚线和点划线等图形。

图3-10 程序运行结果



Style属性为Pen对象提供了一些标准的绘图风格,利用这些画笔可以绘制出各种形式的图形,它的参数取值范围为psSolid、psDash、psDot、psDashDot、psDashDotDot、psClear和psInsideFrame。

常用Style属性设置值及其说明如下。

(1) psDash:画笔将绘制破折号。

(2) psDot:画笔将绘制点。

(3) psDashDot:画笔将绘制点划线。

(4) psInsideFrame:内收实线。

(5) psSolid:实心画笔操作。

(6) psDashDotDot:画笔将绘制双点划线。

(7) psClear:画笔空操作。

本程序绘图的主体代码放在了窗体的OnPaint事件的过程响应代码中,代码如下:

procedure TForm1.FormPaint(Sender: TObject);

var

PS:array[0..6] of TPenStyle;

i:Integer;

begin

PS[0]:=psSolid;

PS[1]:=psDash;

PS[2]:=psDot;

PS[3]:=psDashDot;

PS[4]:=psDashDotDot;

PS[5]:=psClear;

PS[6]:=psInsideFrame;

Canvas.Brush.Style:=bsClear;

Canvas.Pen.Width:=1;

for i:=1 to 7 do

begin

Canvas.Pen.Style:=PS[i-1];

Canvas.MoveTo(10,25*i);

Canvas.LineTo(160,25*i);

end;

end;

程序首先定义了一个数组变量PS,它的类型为TPenStyle,在程序运行的过程中,它将存储绘图的风格,而Integer类型的变量i用于控制循环语句。然后为PS数组赋值,并且设置Canvas对象的属性。最后通过Canvas.Pen.Style:=PS[i-1]语句为Pen对象选择绘图风格,通过Canvas.MoveTo(10,25*i)和Canvas.LineTo(160,25*i)语句采用选中的风格在窗体上绘制直线。



程序代码如下:

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, ExtCtrls;

type

 TForm1 = class(TForm)

procedure FormPaint(Sender: TObject);

 private

{ Private declarations }

 public

{ Public declarations }

 end;

var

 Form1: TForm1;

implementation

{$R *.DFM}



procedure TForm1.FormPaint(Sender: TObject);

var

PS:array[0..6] of TPenStyle;

//定义存储绘图风格的数组

i:Integer;

begin

PS[0]:=psSolid;

PS[1]:=psDash;

PS[2]:=psDot;

PS[3]:=psDashDot;

PS[4]:=psDashDotDot;

PS[5]:=psClear;

PS[6]:=psInsideFrame;

//绘图风格数组赋值

Canvas.Brush.Style:=bsClear;

Canvas.Pen.Width:=1;

for i:=1 to 7 do

begin

Canvas.Pen.Style:=PS[i-1];

Canvas.MoveTo(10,25*i);

Canvas.LineTo(160,25*i);

end;

end;



end.



保存文件,然后按F9键运行程序,运行结果如图3-11所示。

图3-11 程序运行结果
通过本实例,读者可以学习到如何利用Pen对象绘制实线、虚线和点划线等,这样可以充分发挥Pen对象的作用。

 

Request对象的概述及API的介绍 Request对象的概述:什么是Request对象; Request对象的API的代码演示

Request对象的概述及API的介绍 Request对象的概述:什么是Request对象 开发的软件都是B/S结构软件,从浏览器向服务器提交一些数据,将这些内容进行封装就封装成了一个请求对象(R...
  • boss_way
  • boss_way
  • 2017年11月21日 12:20
  • 108

几种常见排序算法java实现

public class sort { public static void main(String[] args) { int[] a= {10,1,35,14,9,12,11}; int...
  • qq_34309305
  • qq_34309305
  • 2018年01月25日 16:55
  • 69

各种经典排序算法演示,非常值得一看

各种经典排序算法
  • u010769276
  • u010769276
  • 2014年11月04日 13:35
  • 528

面向对象的风格和基于对象的风格程序设计

下面采用两种风格实现thread类 一.基于对象的风格 先上代码: #ifndef _THREAD_H #define _THREAD_H #include class threa...
  • FreeeLinux
  • FreeeLinux
  • 2016年12月01日 01:09
  • 662

GDI+基础知识三 钢笔(pen)和笔刷(brush) 1

在谈到绘制图形时,钢笔和笔刷是最基本的工具。在Graphics类中,大多数函数都需要使用Pen或Brush对象,在GDI+中,Pen类主要用于绘制直线、曲线和图形的边框,而Brush类以各种颜色和图案...
  • u011582377
  • u011582377
  • 2014年02月07日 18:13
  • 2322

音乐类型及不同风格音乐的代表作

音乐类型 trip-hop是英伦/欧洲跳舞音乐的一种,它的名字来源是“ trip+ hip hop"= trip-hop",因为它发源自英国的bristol,因此最早时称作"bristol hip-...
  • vebasan
  • vebasan
  • 2014年04月10日 15:23
  • 9856

Gdiplus::Pen的使用

转载来源:未知 画笔是用来绘制各种直线和曲线的一种图形工具,GDI+的Pen类为画笔提供了丰富的方法。一般来说,我们可以通过其构造函数来指定画笔的颜色和宽度,其定义如下: Pen( const ...
  • shaoyiju
  • shaoyiju
  • 2017年03月19日 16:39
  • 874

Windows GDI:画笔Pen使用总结

一、获取系统画笔1.Win32HGDIOBJ GetStockObject( int fnObject // stock object type );系统画笔类型如下: BLACK_...
  • wangyao1052
  • wangyao1052
  • 2015年05月16日 00:02
  • 709

轻量级负载均衡【pen】

作者:【吴业亮】云计算开发工程师 博客:http://blog.csdn.net/wylfengyujiancheng pen是轻量级简单的负载平衡软件 架构图: 下载源码# curl -O...
  • wylfengyujiancheng
  • wylfengyujiancheng
  • 2017年03月28日 20:13
  • 595

急求程序!!!!!!

是数据结构的课程设计题目:几种排序算法的演示,要求给出从初始开始时的每一趟的变化情况,并对各种排序算法的排序性能作分析和比较...
  • zyp429
  • zyp429
  • 2010年12月29日 08:48
  • 47
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:演示Pen对象的各种风格
举报原因:
原因补充:

(最多只允许输入30个字)