文档章节

GDI+ 学习记录(16): 贝塞尔曲线 - Bezier、Beziers

涂孟超
 涂孟超
发布于 2014/09/26 15:36
字数 218
阅读 14
收藏 0
//画贝塞尔曲线
var
  g: TGPGraphics;
  p: TGPPen;
begin
  g := TGPGraphics.Create(Canvas.Handle);
  p := TGPPen.Create(MakeColor(255,0,0),2);

  g.DrawBezier(p, 11,11, 88,333, 99,0, 222,111); {参数是画笔与 4 个点的坐标}

  p.Free;
  g.Free;
end;

 
 
 
 
 

 

 

  
//使用 TGPPoint 或 TGPPointF var g: TGPGraphics; p: TGPPen; const points: array[0..3] of TGPPoint = ((x:11; y:11), (x:88; y:333), (x:99; y:0), (x:222; y:111)); begin g := TGPGraphics.Create(Canvas.Handle); p := TGPPen.Create(MakeColor(255,0,0),2); g.DrawBezier(p, points[0], points[1], points[2], points[3]); {用了 4 个常数点} p.Free; g.Free; end;
//连续 Bezier 线 var g: TGPGraphics; p: TGPPen; pts: array[0..6] of TGPPoint; //数组元素必须是 3 的倍数加 1 begin g := TGPGraphics.Create(Canvas.Handle); p := TGPPen.Create(MakeColor(255,0,0),4); pts[0].X := 77; pts[0].Y := 44; pts[1].X := 66; pts[1].Y := 111; pts[2].X := 88; pts[2].Y := 222; pts[3].X := 111; pts[3].Y := 88; pts[4].X := 132; pts[4].Y := 222; pts[5].X := 222; pts[5].Y := 111; pts[6].X := 256; pts[6].Y := 11; g.DrawBeziers(p, PGPPoint(@pts), Length(pts)); p.Free; g.Free; end;

本文转载自:http://www.cnblogs.com/del/archive/2007/12/27/1017374.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
Bezier曲线原理及实现代码(c++)

Bezier曲线原理及实现代码(c++) 2009-06-30 18:50:09| 分类: 数据结构与算法|字号 订阅 一、原理: 贝塞尔曲线于1962年,由法国工程师皮埃尔·贝塞尔(Pierre Bézier)所广泛发表,他运用...

云栖希望。
2017/12/04
0
0
OpenGL绘制B样条曲线,拖动鼠标控制曲线形变

贝塞尔曲线与B样条曲线算法 Bezier曲线于1962年由法国雷诺汽车公司的P.E.Bezier提出,这是一种以逼近为基础的参数曲线和曲面的设计方法。Bezier曲线的形状是通过一组多边折线(特征多边形)的...

初雪之音
2016/03/16
843
0
css3 贝塞尔曲线cubic-bezier(x1, y1, x2, y2)

transition-timing-function属性指定切换效果的速度。 又称三次贝塞尔,主要是为 生成速度曲线的函数,规定是 。 从下图中简要理解一下 : 从上图我们需要知道的是 的取值范围: P0:默认值 ...

皇上洗碗
07/05
0
0
几何画板制作贝塞尔曲线的方法

贝塞尔(Bezier)曲线又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。贝兹曲线由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋。贝塞尔曲线是计算机图形学中相当...

学术研究软件
2016/05/30
40
0
【iOS-Cocos2d游戏开发之十三】CCSprite利用Bezier(贝塞尔)做抛物线动作并让CCSprite同时播放两个Action动作!

如果我们想实现让CCSprite进行抛物线运动的话,那么我想童鞋们首先会想到利用Box2d或者其他物理引擎去为CCSprite创建物理世界中对应的刚体进行实现,但是反过来想,对于不熟悉Box2d或者其他物...

junwong
2012/03/02
873
0

没有更多内容

加载失败,请刷新页面

加载更多

【大福利】极客时间专栏返现二维码大汇总

我已经购买了如下专栏,大家通过我的二维码你可以获得一定额度的返现! 然后,再给大家来个福利,只要你通过我的二维码购买,并且关注了【飞鱼说编程】公众号,可以加我微信或者私聊我,我再...

飞鱼说编程
56分钟前
1
0
Spring5对比Spring3.2源码之容器的基本实现

最近看了《Spring源码深度解析》,该书是基于Spring3.2版本的,其中关于第二章容器的基本实现部分,目前spring5的实现方式已有较大改变。 Spring3.2的实现: public void testSimpleLoad(){...

Ilike_Java
今天
1
0
【王阳明心学语录】-001

1.“破山中贼易,破心中贼难。” 2.“夫万事万物之理不外于吾心。” 3.“心即理也。”“心外无理,心外无物,心外无事。” 4.“人心之得其正者即道心;道心之失其正者即人心。” 5.“无...

卯金刀GG
今天
2
0
OSChina 周三乱弹 —— 我们无法成为野兽

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ _刚刚好: 霸王洗发水这波很骚 手机党少年们想听歌,请使劲儿戳(这里) hahahahahahh @嘻酱:居然忘了喝水。 让你喝可乐的话, 你准忘不了...

小小编辑
今天
9
0
vm GC 日志 配置及查看

-XX:+PrintGCDetails 打印 gc 日志 -XX:+PrintTenuringDistribution 监控晋升分布 -XX:+PrintGCTimeStamps 包含时间戳 -XX:+printGCDateStamps 包含时间 -Xloggc:<filename> 可以将数据保存为......

Canaan_
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部