android绘图初学

来源:互联网 发布:斯坦福英语软件下载 编辑:程序博客网 时间:2024/06/10 07:19
常见的绘图类有以下几类:
Paint类:
Canvas类:
Bitmap类:
BitmapFactory:
paint是画笔,Canvas是画布,Bitmap可以对图像进行剪切,旋转等操作,BitmapFactory是一个图像处理工具类,常用作解析文件。以下是常见绘图操作

绘制几何图形:很多图形,基本格式一样比如画圆:drawCircle(float x,float y,float radius, Paint paint),参数确定图形基本信息,和画笔信息

绘制文本:
drawText(文字内容,起点坐标,终点坐标,画笔)
drawPosText(Sring text,float[]pos,Paint paint):为每一个字体指定一个坐标

绘制路径:
添加格式基本一样,都是add+形状,例如addCircle()绘制椭圆形路径,
moveTo(float x,float y):设置绘制直线的起始点;
lineTo();设置直线的终点
quadTo(x1,y1,x2,y2):绘制一条线段轨迹
close()和路径


绘制图片:
drawBitmap()

常见图像特技:
旋转图像:
paint =new Paint()
bitmap=BitmapFactory.decodeResource(MainActivity.this.getResources(),R.drawable.rabit)
matix.setRotate(floate degrees)
canvas.drawBitmap(bitmap,matrix,paint);

缩放图像:
Matrix matrix=new Matrix()
matrix.setScale(sx,sy,x,y):指定以xy为轴心进行缩放,sx,sy指定缩放比例

倾斜图像:
Matrix matrix=new Matrix();
matrix.setSkew(0.3f,0):设置在x轴上倾斜0.3,y上不倾斜
matrix.setSkew(float sx,float sy,float px,float py):设置以px,py为轴心进行倾斜,倾斜度为sx,sy

平移图像:
matrix.setTranslate(float dx,float dy):设置将图像平移到dx,dy的位置

BitmapShader渲染图像:比如需要将一张图片裁剪成椭圆或者圆形等形状的时候可以使用BitmapShader类
BitmapShader bitmapshader=new BitmapShader(bitmap_bg,参数二,参数三):参数有三种,分别是CLAMP(边界颜色填充剩余空间),MIRROR(镜像填充剩余空间),REPEAT(重复填充剩余空间),参数一参数人表示水平和垂直两个不同的方向
一个使用BitmapShader的例子:
Paint paint =new Paint();
paint.setAntiAlias(true)
Bitmap bitmap_bg=BitmapFactory.decodeResoures(MainAActivity.this,getResoures(),R.drawable.android);
BitmapShader bitmapshader=new BitmapShader(bitmap_bg,TileMode.REAPEAT,TileMode.REPEAT)//创建一个水平和垂直方向都重复的BitmapShader对象
paint.setShader(bitmapshader)
canvas.drawRect(0,0,view_width,view_height,paint)



0 0
原创粉丝点击