位置: 编程技术 - 正文

Android Path和PathMeasure类的使用之获取圆弧上的坐标值

发布时间:2024-02-27

推荐整理分享Android Path和PathMeasure类的使用之获取圆弧上的坐标值,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

问题:

已知图中的中心圆点在屏幕上的坐标为(x, y),分别求出点1、2、3、4的坐标&#;!

解决方法:

可以利用Android的SDK自带类 android.graphics.Path和android.graphics.PathMeasure,

1)以圆点坐标(x,y)为中心画一个矩形RectF,

2)再通过Path类画一个度(—)的内切圆弧路径,

3)然后将该路径平分成3段,

4)再利用PathMeasure分别测量出各个点的坐标&#;

代码如下:

ps:简单介绍一下Path类的一些方法的使用和说明

1.addArc(RectF oval, float startAngle, float sweepAngle)

画扇形(弧线)。第二个参数为0时的位置是矩形右边1/2高度的点,为矩形底部1/2宽的位置,如此如此....正数为顺时针旋转,负数是逆时针旋转。第三个参数是图形绘制角度,上图第三个参数为,如果是-,那么图形倒过来。

2.addCircle(float x, float y, float radius, Path.Direction dir)

画圆。第一、二参数是圆心坐标,第三参数是半径,第四参数是顺时针画还是逆时针画(啥玩意?)。

3.addOval(RectF oval, Path.Direction dir)

画椭圆。

4.addPath(Path src, float dx, float dy)

Android Path和PathMeasure类的使用之获取圆弧上的坐标值

复制一份Path,包含被复制的src的一切,并向X与Y轴方向移动第二、三参数的距离。

5.addRect(RectF rect, Path.Direction dir)

6.addRect(float left, float top, float right, float bottom, Path.Direction dir)

画个矩形、四个参数对应与原点的相对距离的是个点。

7.addRoundRect(RectF rect, float rx, float ry, Path.Direction dir)

画圆角矩形。第二、三个参数为0时就是个矩形,为时,就是个椭圆。第二个参数指X轴方向的角度,决定了与参考矩形的横线交点位置,0-决定交点范围为 角点与线中点之间的某点。

8.arcTo(RectF oval, float startAngle, float sweepAngle)

等同于arcTo(RectF oval, float startAngle, float sweepAngle, boolean false)。测试发现:从之前的最后一点开始画线到画椭圆的开始点,接着画个椭圆。

9.arcTo(RectF oval, float startAngle, float sweepAngle, boolean forceMoveTo)

如果最后一个参数为true,那么等同于addArc(RectF oval, float startAngle, float sweepAngle)。

.cubicTo(float x1, float y1, float x2, float y2, float x3, float y3)

画贝塞尔曲线。前四个参数是两个控制点,最后俩个参数是终止点。起始点通过moveTo(float x, float y)或者setLastPoint(float dx, float dy)方法设置。关于贝塞尔曲线,可以去网上找找资料。某人的博客,关于此曲线。

.moveTo(float x, float y)

设置下一个图形的开始点。

.setLastPoint(float dx, float dy)

设置图形的最后一个点位置。如果画的是个封闭图形,而这个点不在图形线上,那么这个点与最后一个图形连上线完成封闭。如图,本来画了个圆角矩形,最后setLastPoint了一下。

.close()

关闭当前图形,如果最后一点不是开始的那点,那么从最后一点画线到开始点。简而言之,画三角型只需要画俩条线,再调此方法能三角型就完成了。

EditText获取焦点不自动弹出键盘设置 EditText获取焦点不自动弹出键盘设置带有EditText控件的在第一次显示的时候会自动获得focus,并弹出键盘如果不想自动弹出键盘,有两种方法:方法一:

Android Volley完全解析(一),初识Volley的基本用法 1.Volley简介我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统

安卓音频简析 Android音频分析1安卓音频系统框架ØMultimediaframework:多媒体框架负责封装了播放/录音类、连接安卓音频解码库进行音频软件解码以及连接高通OpenMaxIL接

标签: Android Path和PathMeasure类的使用之获取圆弧上的坐标值

本文链接地址:https://www.jiuchutong.com/biancheng/386755.html 转载请保留说明!

上一篇:Android开发:shape和selector和layer-list的(详细说明)(qt Android开发)

下一篇:EditText获取焦点不自动弹出键盘设置(edittext获取焦点弹出键盘)

  • 增值税加计抵减政策
  • 土地税税额标准
  • 结转所得税的会计分录是什么
  • 什么是原始凭证?审核原始凭证主要审查哪些内容?
  • 增值税延期滞纳金是多少
  • 什么是非限制
  • 融资租赁租入设备
  • 误餐补助缴个税怎么申报
  • 公司买金蝶计入什么科目
  • 国外租赁行业都包括哪些
  • 增值税一般纳税人证明文件
  • 已扣缴税额
  • 商场促销的税务处理怎么做?
  • 海关未抵扣证明
  • 公司广告法违规交不起罚款怎么办
  • 应交增值税计提表表格
  • 企事业单位承包承租经营
  • 核定征收是不是不需要发票了
  • 营改增账务处理举例
  • 旅游业营改增差额征税的会计核算怎么做?
  • 不同类型商业分布的特征
  • 增值税发票系统金税盘发票怎么抵扣
  • 上年度少计提的税金及附加
  • 给对方发短信显示imessage
  • 局域网内ip地址冲突怎么找出来
  • 存货短缺的账务处理
  • php imagick
  • Bàu Cá Cái的红树林,越南广义 (© Robert Harding World Imagery/Offset)
  • php和ajax
  • 什么情况下要预提集装箱
  • golang调用python代码
  • php输出隔行变色的表格
  • 图像风格迁移网站
  • 比较好的微信名称有哪些
  • php注释有几种?如何表示?
  • 专用发票跨月冲红给对方吗
  • 现金流是什么意思举例
  • phpcms验证码不显示
  • java 代码简洁
  • 财企[2002]313号
  • 企业分红所得需要缴纳企业所得税吗
  • 新办企业发票核定及申领
  • 利用职务之便谋取私利是什么罪
  • 段云简介
  • 原来的预提费用取消后放哪里
  • 企业筹办期怎么做账最合理
  • 个体户查账征收和核定征收哪个好
  • 钢管租赁怎么算的
  • 稳岗返还资金最新账务处理
  • 企业破产作用
  • 多计提费用 怎么冲
  • 劳务发票税额
  • 损益类费用科目结转本年利润是余额结转还是发生额结转
  • 电子发票开票方怎么做账?
  • 企业注销未分配是从注册开始吗
  • 福利补贴制度
  • 红字冲销凭证怎么登明细账
  • mysql删除表数据怎么恢复
  • bios设置的完整说法
  • macbook launch
  • fdisk 分区表
  • centos7 中文支持
  • xp文件夹选项不见了怎么办
  • win7电脑耳机插上还是外放
  • dos 浏览器
  • node:js
  • re engine引擎
  • css超出内容隐藏
  • vue路由跳转的钩子函数什么时候会用到
  • 深入解析抑郁症:什么是它的表现?别小看它的危害程度!
  • linux命令提示符
  • cmd pushd
  • android设置移动网络灰色是什么原因
  • python中验证码校验
  • 原生js
  • unity3d ik
  • 河北省职称证书电子版
  • 上海税务ca证书更新
  • 湖南省税局
  • 怎么判断买的盐是不是真的
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号