二阶贝塞尔曲线部分理解
来源:互联网 发布:永久免费域名注册 编辑:程序博客网 时间:2024/06/05 05:17
/** * Author : 黄家驹 time : 2017/8/1. * 此乃二阶贝塞尔曲线的部分理解,目前不具有了解三阶贝塞尔曲线能力;往后会更新三阶贝塞尔曲线; */public class MyBezier extends View { private Paint paint; private Path path; private Point starpoint; private Point endpoint; private Point assistpoint; private int VillainX; private int VillainY; public MyBezier(Context context) { this(context, null); } public MyBezier(Context context, @Nullable AttributeSet attrs) { this(context, attrs, 0); } public MyBezier(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(); } private void init() { paint = new Paint(); path = new Path(); //开始坐标 starpoint = new Point(300, 600); //结束坐标 endpoint = new Point(900, 600); //控制点坐标 assistpoint = new Point(600, 900); // 抗锯齿 paint.setAntiAlias(true); // 防抖动 paint.setDither(true); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); // 画笔颜色 paint.setColor(Color.BLACK); // 笔宽 paint.setStrokeWidth(10); // 空心 paint.setStyle(Paint.Style.STROKE); // 重置路径 path.reset(); path.moveTo(starpoint.x, starpoint.y); //二阶贝塞尔曲线重要方法 path.quadTo(assistpoint.x, assistpoint.y, endpoint.x, endpoint.y); //画路线 canvas.drawPath(path, paint); //固定控制点 // canvas.drawPoint(assistpoint.x,assistpoint.y,paint); //填充图片 canvas.drawBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.ee), VillainX, VillainY, paint); } @Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: case MotionEvent.ACTION_MOVE: //控制点改为手指点击坐标 VillainX = assistpoint.x = (int) event.getX(); VillainY = assistpoint.y = (int) event.getY(); invalidate(); break; } return true; }}
阅读全文
0 0
- 二阶贝塞尔曲线部分理解
- ROC曲线的理解
- ROC曲线的理解
- 理解贝赛尔曲线的计算方法
- Matlab 如何用legend标记部分曲线
- 再理解下ROC曲线和PR曲线
- 再理解下ROC曲线和PR曲线
- 谈谈对Bezier曲线的理解
- Android贝塞尔曲线的理解与应用
- 贝塞尔曲线_简单理解入门_lemonen
- 对ROC和KS曲线的理解
- DLL部分理解
- typename 部分理解
- CodeIgniter部分个人理解
- 基础理解部分
- TCP/UDP部分理解
- gcc部分参数理解
- Touch--驱动部分理解
- C#笔记【2】
- java解析json文本,去除//后和/**/中的内容
- 1001. 害死人不偿命的(3n+1)猜想 (15)
- HDU-2017 多校训练赛3-补题
- Red and Black (dfs)【HDU】-1312
- 二阶贝塞尔曲线部分理解
- xftp连接不到其他主机
- 线程优先级设置和获取
- js动态给对象添加属性和值
- HDU-1874-Dijkstra算法
- dubbo在jdk1.8环境,部署tomcat问题
- JVM中三种内存区域
- 按位与、或、异或等运算方法
- 工具类之appSecret、timeStamp、nonce三个参数进行字典排序后SHA1加密,得到signature。