android绘制图形总结
来源:互联网 发布:mysql pxc 架构 编辑:程序博客网 时间:2024/04/30 03:47
需要继承View,并重写onDraw(),当需要更新视图时,调用invalidate()(非UI线程调用postInvalidate())。其中涉及到的类有:Canvas,Paint,Path等。
Canvas是依附于View的画布,定义了各种绘制图形的方法,常用的有:drawBitmap()画位图,drawPath()沿着指定path画任意图形,drawCircle()画圆,drawRect()画矩形,drawRoundRect()画圆角矩形,drawOval()画椭圆,drawText()画文本,drawText()画文本,drawColor()画背景颜色,drawTextOnPath()沿着路径画文本,drawLine()画直线,drawPoint()画点,等等。Canvas还提供了如下方法对图形进行变换:translate(),rotate(),scale()。
Canvas的drawBitmapMesh()方法用来扭曲图像,这个方法非常强大,如果用的好,可以开发出如”水波荡漾“”红旗飘飘“等效果。
Paint是画笔类,主要用来设置绘制风格,常用的api有:setARGB(),setAlpha(),setTextAlign()设置是否抗锯齿,setColor(),setStyle(),setStrokeWidth(),setTextSize(),setPathEffect()设置绘制路径时的路径效果,setTextAlign()设置文字对齐方式,setShader()设置笔画的填充效果,setShadowLayer()设置阴影,等等。
Path类代表任意多条直线连接成的任意图形,常用api有:moveTo()定义图形的第一个顶点,lineTo()定义图形的多个顶点,close()回到起始点形成封闭线,addRect(),setPathEffect()设置绘制效果。PathEffect类来定义绘制效果,该类有如下子类:
CornerPathEffect:将Path的各个连接线段之间的夹角用一种更平滑的方式连接。
DashPathEffect:将Path的线段虚线化。
DiscretePathEffect:打散Path的线段,使得在原来路径的基础上发生打散效果。
PathDashPathEffect:使用Path图形来填充当前的路径。
ComposePathEffect:组合效果。
SumPathEffect:叠加效果。
Matrix是矩阵工具类,用来控制图形,组件的变换。提供了如下方法:reset(),setSkew(),setScale(),setRotate(),setTranslate()。Canvas类画图形的方法里面就会使用到该类,如:drawBitmap(Bitmap bitmap, Matrix matrix, Paint p)。
Shader类可用来指定图形的渲染效果(通过paint.setShader()),它提供了如下子类:
BitmapShader:位图平铺
LinearGradient:线性渐变
RadialGradient:圆形渐变
SweepGradient:角度渐变
ComposeShader:组合渲染效果
3 1
- android绘制图形总结
- 绘制图形总结
- QGraphics绘制图形总结
- android绘制图形
- Android 简单图形绘制
- Android Canvas 图形绘制
- Android图形绘制
- Android绘制简单图形
- android:SurfaceView绘制图形
- android 绘制各种图形
- Android View上绘制图形和图片的总结
- object-c图形绘制总结
- android中复制图形,绘制图形
- android编程之图形绘制
- Android 绘制2D图形
- android游戏编程--绘制图形
- Android图形绘制基础(二)
- Android图形绘制基础(一)
- SQL生成周辅助表
- 平台中表或视图不存在(系统表)
- 各分类算法优缺点
- SQL错误
- 报错:Missing artifact.com.oracle:ojdbc14:10.0.2.0
- android绘制图形总结
- initWithFrame 和 initWithCoder
- 使用 spring 容器管理 Filter
- IOS 绘图 bitmap 滤镜 图片合成
- 【Caffe】下载与安装
- JavaScript检查浏览器是否为IE8以上版本
- html5 app开发重大消息-腾讯在技术端推进Html5生态发展
- latex 插入算法
- JAVA接口中的方法和域的修饰符