javascript怎么画贝塞尔曲线

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript怎么画贝塞尔曲线相关的知识,希望对你有一定的参考价值。

<script type="text/javascript">
window.onload = function()
var c = document.getElementById("myCanvas");
var content = c.getContext("2d");

//绘制二次方贝塞尔曲线
content.strokeStyle ="#FF5D43";
content.beginPath();
content.moveTo(0,200);
content.quadraticCurveTo(75,50,300,200);
content.stroke();
content.globalCompositeOperation = "source-over"; //目标图像上显示源图像

//绘制上面曲线的控制点和控制线,控制点坐标为两直线的交点(75,50)
content.strokeStyle = "#f0f";
content.beginPath();
content.moveTo(75,50);
content.lineTo(0,200);
content.moveTo(75,50);
content.lineTo(300,200);
content.stroke();

;
参考技术A 可以看看,html5 canvas 有对应的方法画出贝塞尔曲线

UIBezierPath

UIBezierPath贝塞尔弧线常用方法

//根据一个矩形画曲线

+ (UIBezierPath *)bezierPathWithRect:(CGRect)rect

 

//根据矩形框的内切圆画曲线

+ (UIBezierPath *)bezierPathWithOvalInRect:(CGRect)rect

 

//根据矩形画带圆角的曲线

+ (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect cornerRadius:(CGFloat)cornerRadius

 

//在矩形中,可以针对四角中的某个角加圆角

+ (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect byRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii

参数:

corners:枚举值,可以选择某个角

cornerRadii:圆角的大小

 
//以某个中心点画弧线
 
 
+ (UIBezierPath *)bezierPathWithArcCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise;

参数:

center:弧线中心点的坐标

radius:弧线所在圆的半径

startAngle:弧线开始的角度值

endAngle:弧线结束的角度值

clockwise:是否顺时针画弧线

 

//画二元曲线,一般和moveToPoint配合使用

- (void)addQuadCurveToPoint:(CGPoint)endPoint controlPoint:(CGPoint)controlPoint

参数:

endPoint:曲线的终点

controlPoint:画曲线的基准点

 

//以三个点画一段曲线,一般和moveToPoint配合使用

- (void)addCurveToPoint:(CGPoint)endPoint controlPoint1:(CGPoint)controlPoint1 controlPoint2:(CGPoint)controlPoint2

参数:

endPoint:曲线的终点

controlPoint1:画曲线的第一个基准点

controlPoint2:画曲线的第二个基准点

 

以上是关于javascript怎么画贝塞尔曲线的主要内容,如果未能解决你的问题,请参考以下文章

贝塞尔曲线

怎么用函数画出弧线?

贝塞尔曲线

怎么理解贝塞尔曲线

求助:图像显著检测算法的PR曲线是怎么画出来的

三次方贝塞尔曲线的绘制