ImageVerifierCode 换一换
格式:DOCX , 页数:50 ,大小:300.36KB ,
资源ID:17231115      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17231115.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Delphi 的绘图功能Word下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Delphi 的绘图功能Word下载.docx

1、CopyRectDrawDrawFocusRectEllipseFillRectFloodFillFrameRectLineToLockMoveToPiePolygonPolylinePolyBezierPolyBezierToRectangleRefreshRoundRectStretchDrawTextOutTextRectUnlock/函数:HandleAllocatedTextExtentTextHeightTextWidthTryLock/属性:ClipRectHandleLockCountCanvasOrientationPenPosPixelsTextFlagsBrushCopy

2、ModeFontPen/事件OnChangeOnChangingDelphi 的绘图功能2 - 入门 绘图需要有纸、画笔、画刷; Delphi 有 Canvas、Pen、Brush.Canvas 就是画布, 譬如窗体的 Canvas 属性, 就是窗体的画布;Pen 是画笔, 可以设置笔色、笔宽等等;Brush 是画刷, 可以设置颜色等等. /举例:绘制直线procedure TForm1.Button1Click(Sender: TObject);begin Canvas.Pen.Color := clRed; 设置画笔颜色 Canvas.Pen.Width := 2; 设置画笔宽度 Canv

3、as.MoveTo(10,10); 直线起点 Canvas.LineTo(100,100); 直线终点这里的 Canvas 是简写, 也可以写做: Self.Canvas 或 Form1.Canvas end;矩形填充procedure TForm1.Button2Click(Sender: Canvas.Brush.Color := clYellow; 设置画刷颜色, 也就是填充色 Canvas.FillRect(ClientRect); 填充窗体客户区/效果图:Delphi 的绘图功能3 - 矩形类图形 unit Unit1;interfaceuses Windows, Messages,

4、 SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: Button3: Button4: Button5: procedure FormCreate(Sender: procedure Button1Click(Sender: procedure Button2Click(Sender: procedure Button3Click(Sender: procedure Button4Click

5、(Sender: procedure Button5Click(Sender: end;var Form1: TForm1;implementation$R *.dfm btn:const y1 = 10; y2 = 80;先设置画笔画刷procedure TForm1.FormCreate(Sender:= 4;= clWhite;给出左上角和右下角的坐标就可以绘制矩形 btn := TButton(Sender); Canvas.Rectangle(btn.Left, y1, btn.Left+btn.Width, y2);给出一个矩形结构做参数也可以绘制矩形 R: TRect; 定义一个

6、矩形结构 R := Rect(btn.Left, y1, btn.Left+btn.Width, y2); Canvas.Rectangle(R);绘制圆角矩形; 最后两个参数是设置圆角的procedure TForm1.Button3Click(Sender: Canvas.RoundRect(btn.Left, y1, btn.Left+btn.Width, y2, 20,20);绘制焦点矩形; 它不受画笔的影响; 它的颜色是和画刷的颜色进行某种运算得来的procedure TForm1.Button4Click(Sender: Canvas.DrawFocusRect(R);矩形描边,

7、用的不是画笔是画刷procedure TForm1.Button5Click(Sender: Canvas.FrameRect(R);end.Delphi 的绘图功能4 - 圆弧类图形 绘制椭圆; 椭圆的参数和矩形是一样的 Canvas.Ellipse(btn.Left, y1, btn.Left+btn.Width, y2);根据矩形结构绘制椭圆 Canvas.Ellipse(R);绘制扇形 Canvas.Pie( btn.Left, y1, 矩形区域左上角 btn.Left + btn.Width, y2, 矩形区域右下角 btn.Left + btn.Width, y1 + (y2-y1

8、) div 2, 扇形起点 btn.Left + btn.Width div 2, y1 扇形终点 );绘制弦, 参数同上 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绘制弧线, 参数同上 Canvas.Arc(Delphi 的绘图功能5 - 获取 Canvas 对象 在窗体上添加 Panel1、PaintBox1 和 Button1, 代码如下: cvs: TCanvas; PaintB

9、ox1 就像窗体一样, 也有 Canvas 属性 PaintBox1.Canvas.Brush.Color : PaintBox1.Canvas.FillRect(PaintBox1.ClientRect); 像 Panel1 这样没有 Canvas 属性的控件, 也可以绕道获取 cvs := TCanvas.Create; cvs.Handle := GetDC(Panel1.Handle); cvs.Brush.Color := clBlue; cvs.FillRect(Panel1.ClientRect); cvs.Free;/执行前后对比图:Delphi 的绘图功能6 - Polygo

10、n、Polyline 绘制多边形; 它的参数是一个点数组, 这里定义了一个常数数组 pts: array0.3 of TPoint = ( (x:10; y:40),46;120),82;10) Canvas.Polygon(pts);绘制连续的一组直线; 它的参数也是一个点数组, 我只是把上面的平移了一点10+82;46+82;82+82; Canvas.Polyline(pts);Delphi 的绘图功能7 - PolyBezier、PolyBezierTo PolyBezier 至少需要四个点做参数; 不改变画笔的当前位置 array0.3 of TPoint; pts0.X := 10

11、; pts0.Y : 起点 pts1.X := 60; pts1.Y : 控制点1 pts2.X : pts2.Y := 100; 控制点2 pts3.X : pts3.Y : 终点 Canvas.PolyBezier(pts);= 1; Canvas.LineTo(ClientWidth, ClientHeight);PolyBezierTo 最少只需要需要三个点, 它把当前位置当作第一点; 会改变画笔的当前位置 array1.3 of TPoint; 从 1 开始的, 就 3 个元素 Canvas.MoveTo(10 + 82, 10); /pts0.X := 60 + 82;= 10 +

12、 82; Canvas.PolyBezierTo(pts);/绘制多条贝塞尔线时, 每条线的终点也是下条线的起点.PolyBezier 绘制多条线时, 需要 3*x + 1 个点 array0.6 of TPoint;= 40; pts4.X : pts4.Y : pts5.X := 55; pts5.Y := 99; pts6.X := 70; pts6.Y :PolyBezierTo 绘制多条线时, 需要 3*x 个点 array1.6 of TPoint;= 40 + 82;= 100 + 82;= 55 + 82;= 70 + 82;Delphi 的绘图功能8 - TextOut、TextWidth、TextHeight arr: array0.3 of WideString = ( 白日依山尽,黄河入海流欲穷千里目更上一层楼 a = 20; 横向间隔 b = 20; 纵向间隔 s: string;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1