Android图像处理之Path
来源:互联网 发布:js date 编辑:程序博客网 时间:2024/05/24 07:22
Path路径的意思,任何图形都可以用它来表示,相比于Rect、Circle、Line等它非常灵活,下面介绍Path的相关API
Path.Direction:Path的方向,有两个值CCW、CW,CCW表示逆时针,CW表示顺时针
Path.FillType:Path的填充方式,有4个取值EVEN_ODD、WINDING、INVERSE_EVEN_ODD、INVERSE_WINDING
Path.Op:当两个的Path重合时该如何处理,有5个取值:
DIFFERENCE:从path1中减去path2
INTERSECT:取path1和path2重合的部分
REVERCE_DIFFERENCE:从path2中减去path1
UNION:联合path1和path2
XOR:取path1和path2不重合的部分
Path的函数
Path():构造函数,新建一个空的Path
Path(Path src):构造函数,新建一条和src一样的Path对象
void addArc(RectF oval,floatstartAngle,float sweepAngle):在当前path上添加一段弧;该弧由oval,startAngle,sweepAngle三者共同决定
void addCircle(float x,float y,float radius,Path.Direction dir):在当前path上添加一个圆;(x,y)为圆心,radius为圆半径,dir为圆的方向
void addOval(RectF oval,Path.Direction dir):在当前path上添加一个椭圆
void addPath(Path src,float x,float y):将src平移(x,y)后添加到当前path上
void addPath(Path src):将src添加到当前path上
void addPath(Path src,Matrix m):将src经过矩阵m变换后添加到当前path上
void addRect(float left,float top,float right,float bottom,Path.Direction dir):在当前path上添加矩形
void addRect(Rect src,Path.Direction dir):同上
void addRoundRect(RectF src,float[] dii,Path.Direction dir):将圆角矩形添加到当前path,src表示矩形区域,dii={x1,y1,x2,y2,x3,y3,x4,y4}用xi,yi表示第i个角的弧度
void addRoundRect(RectF src,float rx,float ry,Path.Direction dir):将圆角矩形添加当档案path中,每个角的弧度都有rx,ry决定
void arcTo(RectF src,int startAngle,int sweepAngle,boolean forceMoveTo):将弧src添加到当前path中,forceMoveTo决定当前path最后的点到src的起始点之间是否有连线
void arcTo(RectF src,int startAngle,int sweepAngle):forceMoveTo为false
void close():闭环的当前path
void computeBounds(RectF bounds,boolean exact):得到一个能容纳档案path的矩形并存入bounds中
Path.FillType getFillType():返回path的FillType
boolean isEmpty():path是否是空的
boolean isInverseFillType():path的FillType是否是Inverse类型的
boolean isRect(Rect src):如果path是一个矩形则返回true并储存到src中,若path不是矩形则返回false
void lineTo(float x,float y):添加一条从path的末尾点到(x,y)的线段
void moveTo(float x,float y):将(x,y)设置为新的起点
void offSet(float dx,float dy,Path dst):将当前path平移dx,dy,将平移后的path保存到dst中,若dst为null则将其存到档案path中
void offSet(float dx,float dy):dst为null的情况
boolean op(Path path1,Path path2,Path.op op):将path1和path2按照op的规定处理,将新得到的path存到当前path中
boolean op(Path path,Path.op op):将path与当前path按照op处理,将新得到path存到当前path中
void reset():清空path
void rewind():清空当前path,保存数据以便快速恢复
void setFillType(Path.FillType type):设置FillType
void setLastPoint(float x,float y):设置path的最后一个点为(x,y)
void transform(Matrix matrix,Path dst):用matrix变换当前path并存到dst中
void transform(Matrix matrix):用matrix改变当前path
- Android图像处理之Path
- 【Android图像处理】图像处理之-哈哈镜
- android图像处理之图像二值化
- android图像处理之Bitmap
- Android图像处理之Paint
- Android图像处理之Canvas
- Android知识点之图像处理
- Android之图像处理drawBitmapMesh
- Android Matrix之图像处理
- Android图像处理之色彩特效处理
- Android图像处理之图形特效处理
- Android图像处理之画笔特效处理
- 【Android图像处理】图像处理之-幻觉滤镜
- 【Android图像处理】图像处理之-极速奔驰滤镜
- 【Android图像处理】图像处理之-百叶窗效果
- 【Android图像处理】图像处理之-噪点特效
- 【Android图像处理】图像处理之-放大镜特效
- 【Android图像处理】图像处理之-R&B
- java中newInstance()和new()
- MyBatis There is no getter for property named 'xxx' in 'class java.lang.String'
- Hibernate 通过批量ID进行查询所对应的对象集合
- 基于Udp的socket 实现
- ThinkPad S1 Yoga怎么设置U盘启动
- Android图像处理之Path
- Android签名知识总结
- java多线程
- 使用Xcode和Instruments调试解决iOS内存泄露
- Win8开机总是“配置Windows更新失败,正在还原更改”的解决方法(图)
- Ecache用法1
- 线程同步的方法:sychronized、lock、reentrantLock等总结分析
- CSS 浮动的16条规则——如果浮动非替换元素,则要指定一个明确的宽度;否则,它们会尽可能地窄
- android 数据库更新操作步骤