您的位置:首页 > 大数据 > 人工智能

Paint和canvas的用法

2015-11-20 17:36 375 查看
1.图形绘制

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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: