Android中常用的基础绘图类有以下三种:
1>Bitmap类,表示一张位图,可以自由创建或者读取文件,功能类似于Java中的BufferedImage,其中有很多相似的方法,包括读取一张图片,创建或者保存等。
2>Canvas类,表示画布,可以通过设置画布的属性,画出所需要的东西。其中,Canvas类和Bitmap类在某些方法上具有相似的功能,例如创建一个固定大小的图像等。
3>Paint类,顾名思义,指画画的意思,代表画笔,用来描述绘制风格,使用此类时,可以通过该类提供的构造方法创建对象。
通常,在绘制某个图像时,需要重写View中的onDraw()方法,可以通过其中的某些方法绘制得到2D图形。
Android的中绘制简单的2D图形常用的一些方法如下:
1>Canvas类常用方法
drawCircle(135,53,4,paint);//绘制以(135,53)为圆心的,半径为4的圆
drawLine(125,20,135,35,paint);//绘制线,在(125,20)和(135,35)两个中间开始绘制
drawRect(110,75,200,150,paint);//绘制左上角为(110,75),右下角为(200,150)的矩形
drawRoundRect(rectF_body,10,10,paint);//绘制圆角矩形
drawPoint(25,54,paint);//在(25,54)点绘制一个点
drawText("Android",45,260,paint);//添加文字
2>Paint类常用方法
setAntiAlias(true);//使用抗锯齿功能,即柔化边缘
setColor(Color.WHITE);//设置画笔为白色
setTextSize(50);//设置文字大小
setColor(Color.GRAY);//设置文字颜色
setAlpha(50);//设置透明度
3>Bitmap类常用方法
bitmap = Bitmap.createBitmap(bitmap, 84, 170, 600, 350);//以(84,170)点开始创建一个宽600,高350像素的Bitmap对象
bitmap = Bitmap.createBitmap(600, 350, Bitmap.Config config);//根据制定数据配置创建新的对象
bitmap.getWidth();
bitmap.getHeight();
其中Bitmap类不能实例化,因此只能借助BitmapFactory类获取文件资源。
读取Bitmap方法有两种:
1>以文件方式读取,需要获取图像路径
Bitmap bitmap = BitmapFactory.decodeFile(String PathName);
Bitmap bitmap = BitmapFactory.decodeResource(this.getContext().getResources(),R.drawable.XX);
Bitmap bitmap = BitmapFactory.decodeResource(this.getResources(),int[] images);
2>以文件流的形式读取
FileInputStream fileInputStream = new FileInputStream("图像路径+PictureName.jpg");
Bitmap bitmap = BitmapFactory.decodeStream(fileInputStream);
BitmapFactory类中的常用方法:
decodeByteArray(byte[] data,int offset,int length);//根据指定数据文件解码Bitmap
decodeFile(String pathName);//根据指定路径创建Bitmap
decodeFileDescriptor(FileDescriptor fd);//根据指定的文件说明符解码Bitmap
decodeResource(Resources res,int id);//根据指定的资源创建Bitmap
decodeStream(InputStream is);//根据指定的输入流解码Bitmap