文档章节

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

涂孟超
 涂孟超
发布于 2014/09/26 15:37
字数 300
阅读 7
收藏 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
112
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

没有更多内容

加载失败,请刷新页面

加载更多

《netty入门与实战》笔记-05:netty内置的channelHandler

Netty 内置了很多开箱即用的 ChannelHandler。下面,我们通过学习 Netty 内置的 ChannelHandler 来逐步构建我们的 pipeline。 ChannelInboundHandlerAdapter 与 ChannelOutboundHandlerAdap...

Funcy1122
30分钟前
3
0
帧动画(wifi信号动态动画)

准备六张wifi不同信号强度的素材图片,复制到drawable目录中 在drawable目录中新建frame文件,并编写代码 <animation-list xmlns:android="http://schemas.android.com/apk/res/android"> ...

lanyu96
51分钟前
3
0
快速get到学习Linux操作系统的点

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能够运行主要的UNIX工具软件、网络协议和应用程序。它支持32位...

问题终结者
59分钟前
2
0
Django2 model操作数据库

1.将应用(如learn)添加到安装应用配置中 将我们新建的应用(learn)添加到 settings.py 中的 INSTALLED_APPS中,告诉Django有这么一个应用。 INSTALLED_APPS = [ 'django.contrib.ad...

MichaelShu
今天
3
0
SpringBoot基础篇Bean之条件注入之注解使用

更多Spring文章,欢迎点击 一灰灰Blog-Spring专题 bean的条件注入,除了前面一篇博文中介绍的通过@Conditional注解配合Condition接口的实现之外,还提供了更多简化的注解使用方式,省略了自己...

小灰灰Blog
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部