android绘制曲线

绝杀fc小飞侠 2014-02-27 02:12:26
有n个点,坐标已知,要画曲线,过这n个点。
现在要求画出来的曲线是平滑的。
好像网上都说用贝塞尔曲线?
求高手给个思路?
...全文
3120 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
绝杀fc小飞侠 2014-03-04
  • 打赏
  • 举报
回复
如@u013773757所说,取点A、B中点C,然后分别画AC、CB,用贝塞尔曲线,二阶即可,选控制点的时候,注意下坐标。问题解决。
媒体盒子 2014-03-03
  • 打赏
  • 举报
回复
我有一款软件有实习这个功能,http://zhushou.360.cn/detail/index/soft_id/900915 用的是开源的achartengine 非常好用
aotian16 2014-02-28
  • 打赏
  • 举报
回复
这个问题我也遇到过, 请参考这个实现 URL
android18 2014-02-28
  • 打赏
  • 举报
回复
引用 9 楼 allen_fan_11 的回复:
[quote=引用 8 楼 u013773757 的回复:]
[quote=引用 7 楼 allen_fan_11 的回复:]
[quote=引用 4 楼 u013773757 的回复:]
楼主在不?你可以试试Path path 里面moveTo 和 quadTo .
给你个链接吧
你用了几个点?


我画三个点

吧下面的代码放在onDraw 函数中
		
final Path path = new Path();
path.moveTo(0, 100);

final float x2 = (200 + 100) / 2;
final float y2 = ( 200 + 100) / 10;
path.quadTo(x2, y2, 500, 500);
final float x3 = 220 ;
final float y3 = 23 ;
path.quadTo(x3, y3, 20, 800);
canvas.drawPath(path, paint);
}

Paint paint = new Paint() {
{
setStyle(Paint.Style.STROKE);
setStrokeCap(Paint.Cap.ROUND);
setStrokeWidth(3.0f);
setAntiAlias(true);
}
};


绝杀fc小飞侠 2014-02-27
  • 打赏
  • 举报
回复
引用 8 楼 u013773757 的回复:
[quote=引用 7 楼 allen_fan_11 的回复:] [quote=引用 4 楼 u013773757 的回复:] 楼主在不?你可以试试Path path 里面moveTo 和 quadTo . 给你个链接吧 http://stackoverflow.com/questions/9993030/bezier-curve-and-canvas
学习中,谢[/quote] 我刚才试了可以 这是demo里面我设置的点形成的贝塞尔线[/quote] 你用了几个点?
android18 2014-02-27
  • 打赏
  • 举报
回复
引用 7 楼 allen_fan_11 的回复:
[quote=引用 4 楼 u013773757 的回复:]
楼主在不?你可以试试Path path 里面moveTo 和 quadTo .
给你个链接吧
http://stackoverflow.com/questions/9993030/bezier-curve-and-canvas

学习中,谢[/quote]

我刚才试了可以
这是demo里面我设置的点形成的贝塞尔线
绝杀fc小飞侠 2014-02-27
  • 打赏
  • 举报
回复
引用 4 楼 u013773757 的回复:
楼主在不?你可以试试Path path 里面moveTo 和 quadTo . 给你个链接吧 http://stackoverflow.com/questions/9993030/bezier-curve-and-canvas
学习中,谢
绝杀fc小飞侠 2014-02-27
  • 打赏
  • 举报
回复
引用 2 楼 Java_Devil 的回复:
http://d.apkbus.com/android/category/chart
谢,尝试学习中
绝杀fc小飞侠 2014-02-27
  • 打赏
  • 举报
回复
引用 楼主 allen_fan_11 的回复:
有n个点,坐标已知,要画曲线,过这n个点。 现在要求画出来的曲线是平滑的。 好像网上都说用贝塞尔曲线? 求高手给个思路?
这种方法试过了,没有成功
android18 2014-02-27
  • 打赏
  • 举报
回复
楼主在不?你可以试试Path path 里面moveTo 和 quadTo . 给你个链接吧 http://stackoverflow.com/questions/9993030/bezier-curve-and-canvas
guaguaAnd 2014-02-27
  • 打赏
  • 举报
回复
引用 1 楼 go12355 的回复:
用canvase画路径,就是drawPath这个方法貌似可以实现你说的效果,详细的你再百度吧
drawPath画出来不是平滑的,确实需要用贝塞尔曲线
绝世酱油瓶 2014-02-27
  • 打赏
  • 举报
回复
http://d.apkbus.com/android/category/chart
小双 2014-02-27
  • 打赏
  • 举报
回复
用canvase画路径,就是drawPath这个方法貌似可以实现你说的效果,详细的你再百度吧

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧