文档章节

Delphi 的绘图功能[4] - 圆弧类图形

涂孟超
 涂孟超
发布于 2014/09/26 15:37
字数 300
阅读 18
收藏 0
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

var
  btn: TButton;
const
  y1 = 10;
  y2 = 80;


{先设置画笔画刷}
procedure TForm1.FormCreate(Sender: TObject);
begin
  Canvas.Pen.Width := 2;
  Canvas.Pen.Color := clRed;
  Canvas.Brush.Color := clWhite;
end;


{绘制椭圆; 椭圆的参数和矩形是一样的}
procedure TForm1.Button1Click(Sender: TObject);
begin
  btn := TButton(Sender);
  Canvas.Ellipse(btn.Left, y1, btn.Left+btn.Width, y2);
end;


{根据矩形结构绘制椭圆}
procedure TForm1.Button2Click(Sender: TObject);
var
  R: TRect; {定义一个矩形结构}
begin
  btn := TButton(Sender);
  R := Rect(btn.Left, y1, btn.Left+btn.Width, y2);
  Canvas.Ellipse(R);
end;


{绘制扇形}
procedure TForm1.Button3Click(Sender: TObject);
begin
  btn := TButton(Sender);
  Canvas.Pie(
    btn.Left, y1,                             {矩形区域左上角}
    btn.Left + btn.Width, y2,                 {矩形区域右下角}
    btn.Left + btn.Width, y1 + (y2-y1) div 2, {扇形起点}
    btn.Left + btn.Width div 2, y1            {扇形终点}
  );
end;


{绘制弦, 参数同上}
procedure TForm1.Button4Click(Sender: TObject);
begin
  btn := TButton(Sender);
  Canvas.Chord(
    btn.Left, y1,
    btn.Left + btn.Width, y2,
    btn.Left + btn.Width, y1 + (y2-y1) div 2,
    btn.Left + btn.Width div 2, y1
  );
end;


{绘制弧线, 参数同上}
procedure TForm1.Button5Click(Sender: TObject);
begin
  btn := TButton(Sender);
  Canvas.Arc(
    btn.Left, y1,
    btn.Left + btn.Width, y2,
    btn.Left + btn.Width, y1 + (y2-y1) div 2,
    btn.Left + btn.Width div 2, y1
  );
end;

end.

 
 
 
 
 

 

 

  
//效果图:


本文转载自:http://www.cnblogs.com/del/archive/2008/02/16/1070942.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
机械制图基础知识,莫莫总结的精华全在这里了!

     一、常用绘图工具   1.图板 图板是用来固定图纸的矩形木板。其要求:   (1)板面平整、光滑;   (2)左侧的“导边”应平直。   #常用图板规格:   0号(900mm×1200m...

UG数控编程
06/03
0
0
VC橡皮筋绘制技术的实现

在我们在使用微软的绘图程序时。当要画一条直线,先用鼠标确定起始位置,然后鼠标在屏幕上来回移动时,我们会发现,这条直线就像橡皮筋一样,随着鼠标在屏幕中的位置,长短和终点都随之变化。...

长平狐
2013/12/25
126
0
HTML5中Canvas元素的使用总结

HTML5中Canvas元素的使用总结 Canvas提供了开发者自定义绘图的接口,我们可以公国getContext()函数来获取绘图上下文进行绘制操作,这个函数中可以传入两个参数,其中第1个参数设置绘图上下文...

珲少
04/16
0
0
微信小程序 canvas圆角矩形的绘制

微信小程序允许对普通元素通过 的设置来进行圆角的绘制,但有时候在使用 绘图的时候,也需要圆角,例如需要将页面上某块区域导出为图片下载到本地的时候,常用的解决方法就是使用 将这块区域...

清夜
08/22
0
0
Android:视图绘制(三) ------Path介绍

Path 顾名思义是路径的意思。前文我们讲过Canvas提供了很多方法来绘制各种图形。但是,有时我们的需求不是常规的图形,那么就需要用到本文要讲的Path类。 Canvas里提供了一个drawPath(Path p...

u010635353
2016/09/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

eureka多注册中心

eureka分区的深入讲解

miaojiangmin
20分钟前
1
0
RAM SSO功能重磅发布 —— 满足客户使用企业本地账号登录阿里云

阿里云RAM (Resource Access Management)为客户提供身份与访问控制管理服务。使用RAM,可以轻松创建并管理您的用户(比如雇员、企业开发的应用程序),并控制用户对云资源的访问权限。 对云资...

阿里云官方博客
23分钟前
0
0
Mysql 8.0 | #08004Client does not support authentication protocol requested by server

完整报错 #08004Client does not support authentication protocol requested by server; consider upgrading MySQL client 解决方法 Using the old mysql_native_password works:ALTER ......

云迹
25分钟前
0
0
kylin入门到实战

1.概述 kylin是一款开源的分布式数据分析工具,基于hadoop之上的sql查询接口,能支持超大规模的数据分析。响应时间在亚秒级别,其核心是预计算,计算结果存放在hbase中。 2.特性 可扩展超快O...

hblt-j
28分钟前
0
0
vagrant mac 安装和使用

varant 在mac上使用起来非常的方便,具体的下载步骤可以看这里https://segmentfault.com/a/1190000000264347 这里主要是记录一下配置文件 # -*- mode: ruby -*- # vi: set ft=ruby : # All V...

一千零一夜个为什么
28分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部