文档章节

Delphi 的绘图功能[3] - 矩形类图形

涂孟超
 涂孟超
发布于 2014/09/26 15:36
字数 312
阅读 10
收藏 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 := 4;
  Canvas.Pen.Color := clRed;
  Canvas.Brush.Color := clWhite;
end;


{给出左上角和右下角的坐标就可以绘制矩形}
procedure TForm1.Button1Click(Sender: TObject);
begin
  btn := TButton(Sender);
  Canvas.Rectangle(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.Rectangle(R);
end;


{绘制圆角矩形; 最后两个参数是设置圆角的}
procedure TForm1.Button3Click(Sender: TObject);
begin
  btn := TButton(Sender);
  Canvas.RoundRect(btn.Left, y1, btn.Left+btn.Width, y2, 20,20);
end;


{绘制焦点矩形; 它不受画笔的影响; 它的颜色是和画刷的颜色进行某种运算得来的}
procedure TForm1.Button4Click(Sender: TObject);
var
  R: TRect;
begin
  btn := TButton(Sender);
  R := Rect(btn.Left, y1, btn.Left+btn.Width, y2);
  Canvas.DrawFocusRect(R);
end;


{矩形描边, 用的不是画笔是画刷}
procedure TForm1.Button5Click(Sender: TObject);
var
  R: TRect;
begin
  btn := TButton(Sender);
  R := Rect(btn.Left, y1, btn.Left+btn.Width, y2);
  Canvas.FrameRect(R);
end;

end.

 
 
 
 
 

 

 

  
//效果图:


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

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
GIS软件中的交互式绘图设计与实现

一、概述 交互式绘图,我的理解就是用鼠标去进行图形绘制。 在GIS软件开发与设计中,经常会用到交互式绘图,例如ARCGIS等软件都有非常复杂的人机交互功能。交互式绘图在GIS可以说占据比较重要...

长平狐
2013/12/25
83
0
Android: Android图形基础

《Android 基础教程(第3版)》Ed Burnette Android在其android.graphics包中提供了完整的本机二维图形库: Color Android中的颜色用4个数字表示(Alpha, Red, Green, Blue) 1. int color = Colo...

长平狐
2012/06/20
381
0
Web 开发中的矢量绘图处理和应用

矢量绘图一直是 Web 开发中一直比较薄弱的环节。本文首先针对不同浏览器详细阐述不同的矢量绘图解决方案,其中包括 HTML5 Canvas、SVG 以及 VML 等技术;之后针对每种不同的技术介绍其实现和...

IBMdW
2011/09/03
1K
0
LeeJay/UIBezierPath_CAShapeLayer

UIBezierPath和CAShapeLayer绘图 UIBezierPath 官方文档 The UIBezierPath class lets you define a path consisting of straight and curved line segments and render that path in your c......

LeeJay
2016/10/09
0
0
Web开发中的矢量绘图(vml,svg)处理和应用

前言 1991 年物理学家 Tim Berners-Lee 首次在因特网上发布了 HTML 的第一版描述规范文档。经过了 20 多年的发展,HTML 语言成为如今编程最为广泛的语言和互联网上采用最广的文档格式。虽然 ...

kevin_pang
2014/02/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SharedPreferences 的使用,commit和apply两个方法的区别

SharedPreferences sp = getSharedPreferences("config",MODE_PRIVATE); //第一个参数:存储文件的名称,第二个参数文件的访问权限,通常MODE_PRIVATE是私有存储 sp.edit().putString("USERNAM...

lanyu96
25分钟前
1
0
02-《Apache Tomcat 9 User Guide》之简介

1.Introduction - 介绍 For administrators and web developers alike, there are some important bits of information you should familiarize yourself with before starting out. This d......

飞鱼说编程
30分钟前
1
0
关于maven的使用,这一篇基本就够了

2.1 关于maven 每一个工具的出现都有其历史意义,而Maven的出现则是开发者对于不同的项目都要有自己的Ant构建文件,而这些文件都各不相同,而且JAR被检入CVS(Concurrent Version System),...

小小明童鞋
32分钟前
16
0
从xtrabackup完整备份恢复单个innodb表

现在大多数同学在线上采取的备份策略都是xtrabackup全备+binlog备份,那么当某天某张表意外的删除那么如何从xtrabackup全备中恢复呢?从mysql 5.6版本开始,支持可移动表空间(Transportable...

IT--小哥
36分钟前
1
0
百度AI攻城狮,用TensorFlow API训练目标检测模型(浣熊超可爱)

今天,人工智能正影响我们生产、生活的方方面面。10月10日,为期三天的2018华为全联接大会在上海拉开帷幕,此次大会以“+智能,见未来”为主题,发布了AI战略及全球领先的全栈全场景AI解决方...

Python唱情歌
37分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部