志在指尖
用双手敲打未来

Canvas 和和 Paint 实例实例

有关细致的完成我们今天主要说下Android的Canvas和Paint对象的运用实例。
Canvas类主要完成了屏幕的绘制过程,其中包含了很多适用的办法,比方绘制一条途径、区域、贴图、画点、画线、渲染文本,下面是Canvas类常用的办法,当然Android开发网提示大家很多办法有不同的重载版本,参数更灵敏。
voiddrawRect(RectFrect,Paintpaint)//绘制区域,参数一为RectF一个区域voiddrawPath(Pathpath,Paintpaint)//绘制一个途径,参数一为Path途径对象voiddrawBitmap(Bitmapbitmap,Rectsrc,Rectdst,Paintpaint)//贴图,参数一就是我们常规的Bitmap对象,参数二是源区域(Android123提示这里是bitmap),参数三是目的区域(应该在canvas的位置和大小),参数四是Paint画刷对象,由于用到了缩放和拉伸的可能,当原始Rect不等于目的Rect时性能将会有大幅损失voiddrawLine(floatstartX,floatstartY,floatstopX,floatstopY,Paintpaint)//画线,参数一同始点的x轴位置,参数二起始点的y轴位置,参数三终点的x轴程度位置,参数四y轴垂直位置,最后一个参数为Paint画刷对象。
voiddrawPoint(floatx,floaty,Paintpaint)//画点,参数一程度x轴,参数二垂直y轴,第三个参数为Paint对象。
voiddrawText(Stringtext,floatx,floaty,Paintpaint)//渲染文本,Canvas类除了上面的还能够描画文字,参数一是String类型的文本,参数二x轴,参数三y轴,参数四是Paint对象。
voiddrawTextOnPath(Stringtext,Pathpath,floathOffset,floatvOffset,Paintpaint)//在途径上绘制文本,相关于上面第二个参数是Path途径对象从上面来看我们能够看出Canvas绘制类比拟简单同时很灵敏,完成普通的
办法通常没有问题,同时能够叠加的处置设计出一些效果,不过仔细的网友可能发现最后一个参数均为Paint对象。假如我们把Canvas当做绘画师来看,那么Paint就是我们绘画的工具,比方画笔、画刷、颜料等等。Paint类常用办法:
voidsetARGB(inta,intr,intg,intb)设置Paint对象颜色,参数一为alpha透明通道
voidsetAlpha(inta)设置alpha不透明度,范围为0~255
voidsetAntiAlias(booleanaa)//能否抗锯齿
voidsetColor(intcolor)//设置颜色,
这里Android内部定义的有Color类包含了一些常见颜色定义
voidsetFakeBoldText(booleanfakeBoldText)//设置伪粗体文本
voidsetLinearText(booleanlinearText)//设置线性文本
PathEffectsetPathEffect(PathEffecteffect)//设置途径效果
RasterizersetRasterizer(Rasterizerrasterizer)//设置光栅化
ShadersetShader(Shadershader)//设置阴影
voidsetTextAlign(Paint.Alignalign)//设置文本对齐
voidsetTextScaleX(floatscaleX)//设置文本缩放倍数,1.0f为原始
voidsetTextSize(floattextSize)//设置字体大小
TypefacesetTypeface(Typefacetypeface)//设置字体,Typeface包含了字体的类型,粗细,还有倾斜、颜色等。
voidsetUnderlineText(booleanunderlineText)//设置下划线
最终Canvas和Paint在onDraw中直接运用
@Override
protectedvoidonDraw(Canvascanvas){
PaintpaintRed=newPaint();
paintRed.setColor(Color.Red);
canvas.drawPoint(11,3,paintRed);//在坐标11,3上画一个红点
}
下一次Android123将会详细讲到强大的Path途径,和字体Typeface相关的运用。

未经允许不得转载:IT技术网站 » Canvas 和和 Paint 实例实例
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载