Paint和canvas的用法
2015-11-20 17:36
375 查看
1.图形绘制
2.文本绘制
setARGB(int a ,int r,int g,int b);//参数含义:a代表透明度,r,g,b代表颜色值 setAlpha(int a);//参数含义:a代表绘制图形的透明度 setColor(int color);//参数含义:color:设置绘制的颜色,使用颜色值来表示,该颜色值包括透明度和RGB颜色 setAntiAlias(boolean b)//设置是否使用抗锯齿功能,会消耗较大资源,绘制图形速度会变慢。 setDither(boolean dither)//设置是否使用图像抖动处理,会使绘制出来的图片颜色更加平滑和饱满,图像更加清晰 setFilterBitmap(boolean filter)//如果该项设置为true,则图像在动画进行中,会滤掉对Bitmap图像的优化操作,加快显示速度,本设置项依赖于dither和xfermode的设置 setMaskFilter(MaskFilter maskfilter)//设置MaskFilter,可以用不同的MaskFilter实现滤镜的效果,如滤化,立体等 setColorFilter(ColorFilter colorfilter)//设置颜色过滤器,可以在绘制颜色时实现不同颜色的变化效果 setPathEffect(PathEffect effect)//设置绘制路径的效果,如点画线等 setShader(Shader shader)//设置图像效果,使用Shader可以绘制出各种渐变效果 setShadowLayer(float radius , float dx,float dy,int color)//在图形下面设置阴影层,产生阴影效果,radius为阴影的角度,dx 和 dy为阴影在x轴和y轴上的距离,color为阴影的颜色 setStyle(Paint.Style style)//设置画笔的样式,为FILT , FILT_OR_STROKE 或 STROKE Style.FILL: 填充 STORKE:描边 FILL_OR_STORE:描边并填充 setStrokeCap(Paint.Cap cap)//当画笔样式为STROKE或FILL_OR_STROKE时,设置笔刷的图形样式,如Cap.ROUND圆形样式,或Cap.SQUARE方形样式 该方法用来设置我们画笔的 笔触风格 ,比如:ROUND,表示是圆角的笔触。那么什么叫笔触呢,其实很简单,就像我们现实世界中的笔,如果你用圆珠笔在纸上戳一点,那么这个点一定是个圆,即便很小,它代表了笔的笔触形状,如果我们把一支铅笔笔尖削成方形的,那么画出来的线条会是一条弯曲的“矩形”,这就是笔触的意思。除了ROUND,Paint.Cap还提供了另外两种类型: SQUARE和BUTT 元 setStrokeJoin(Paint.Join join)//设置绘制时个图形的结合方式,如平滑效果等,MITER为锐角,ROUND为圆弧,BEVEL结合处为直线 setStrokeWidth(float width)//当画笔样式为STROKE或FILL_OR_STROKE时,设置笔刷的粗细度 setXfermode(Xfermode xfermode)//设置图形重叠时的处理方式,如合并,取交集或并集,经常用来制作橡皮擦出效果
2.文本绘制
setFakeBoldText(boolean fakeBoldText)//模拟实现粗体文字,设置在小字体上效果非常差 setSubpixelText(boolean subpixelText)//设置该项为true,将有助于文本在LCD屏幕上的显示效果 setTextAlign(Paint.Align align)//设置绘制文字的对齐方向 setTextScaleX(float scaleX)//设置绘制文字x轴的缩放比例,可以实现文字的拉伸效果 setTextSize(float textSize)//设置绘制文字的字号大小 setTextSkewX(float skewX)//设置斜体文字,skewX为倾斜弧度 setTypeface(Typeface typeface)//设置Typeface对象,即字体风格,包括粗体,斜体以及衬线体,非衬线体等 setUnderlineText(boolean underlineText)//设置带有下划线的文字效果 setStrikeThruText(boolean strikeThruText)//设置带有删除线的效果 // //设置结合处的样式,MITER为锐角,ROUND为圆弧,BEVEL为直线 // paint.setStrokeJoin(Join.ROUND); /**ROUND * The stroke projects out as a square, with the center at the end * of the path. */ //它的英文解释如上我们要明白他是在path的终点进行设置 paint.setStrokeCap(Cap. ROUND); 3.几个不容易理解的方法的讲解 (1).setStrokeCap//它是在路径的末尾进行处理的 <span><span> (2)</span></span><span> setStrokeJoin(Paint.Join join)</span><span>此方法是设置绘制时的结合方式</span>
相关文章推荐
- baos bais 意义
- [AlwaysOn Availability Groups]排查:AG超过RPO
- pthread_cond_wait() 前使用 while 讲解
- AEAI DP按钮权限配置说明
- AEAI DP按钮权限配置说明
- Wait函数和waitpid函数详解----很好
- [AlwaysOn Availability Groups]排查:AG超过RTO
- hdu 1151 Air Raid 匹配
- Daily Scrum - 11/20
- Factorial Trailing Zeroes
- 解决启动报错:Failed to destroy end point associated with ProtocolHandler["ajp-nio-8009"]
- Robotium 运行时Installation error INSTALL_FAILED_VERSION_DOWNGRADE错误
- UVa 442 ------ Matrix Chain Multiplication
- C语言问题 赋值表达式返回值是什么 http://zhidao.baidu.com/link?url=FrmzIbFTHGAGizJ4aBU7r93lWwOTOuVh4WLMAJ3DA0wRRnqS
- 类1调用类2的子方法不会触发类2的main方法
- Maven编译错误:Could not generate DH keypair: Prime size must be multiple of 64...
- 【HDU5411 2015 Multi-University Training Contest 10F】【矩阵快速幂 加一行构造法】CRB and Puzzle 矩阵的1次方到n次方的数值和
- 单击Main.StoryBoard文件,XCODE自动关闭
- [BetterExplained]如何有效地记忆与学习
- retain、strong、weak、assign区别