• 热门专题

Android中2D绘图工具类(Canvas Paint和Color)简介

作者:  发布日期:2015-04-24 20:43:00
Tag标签:工具  简介  
  • 通常的Android应用开发中都要图片,找美工设计些图片,放到项目中就可以了,不过除了使用现有的图片外,我们也可以用2D绘图,就是在View画一些图案或文字。其中通常要用到的类有Canvas(画布),Paint(画笔)及Color(用来设置画笔颜色)类,当然还可能用到其它很多类,都是根据自己项目中的需要来定的。

    Canvas:画布,用来直接在View上绘制诸如矩形,圆形,文字,位图等图形。官方api网址:http://developer.android.com/reference/android/graphics/Canvas.html。Canvas可以绘制的对象有:弧线(arcs)、填充颜色(argb和color)、 Bitmap、圆(circle和oval)、点(point)、线(line)、矩形(Rect)、图片(Picture)、圆角矩形 (RoundRect)、文本(text)、顶点(Vertices)、路径(path)。另外还常用的两个方法是:

    save:用来保存Canvas的状态。save之后,可以调用Canvas的平移、放缩、旋转、错切、裁剪等操作。restore:用来恢复Canvas之前保存的状态。防止save后对Canvas执行的操作对后续的绘制有影响。save和restore要配对使用(restore可以比save少,但不能多),如果restore调用次数比save多,会引发Error。

    Paint:画笔,作用于画布上,用来设置我们绘制图案的一些参数,如线条宽度(粗细),颜色等。常用的设置有:

    setetAntiAlias: 设置画笔的锯齿效果。

    setColor: 设置颜色

    setARGB: 设置的ARGB色彩值。

    setAlpha: 设置Alpha值

    setTextSize: 设置字体尺寸。

    setStyle: 设置画笔风格,空心或者实心。

    setStrokeWidth: 设置空心的边框宽度。

    setShader:设置阴影效果

    setTextSkewX:设置文字倾斜度

    Color:颜色类,主要是提供画笔的颜色等。可以定义在res/values/colors.xml中,也可以直接用系统提供的颜色值,更可通知Color.parseColor()来设置颜色。常用的系统颜色值如:

    Color.BLACK;
    Color.WHITE;
    Color.BLUE;
    Color.RED;
    Color.YELLOW......

    下面就一小例子:

    public class MyDrawView extends View {
    public MyDrawView (Context context) {
    super(context);
    }
    @Override
    protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    Paint p = new Paint();
    p.setColor(Color.BLUE);
    canvas.drawText("画圆:", 10, 20, p);
    p.setColor(Color.YELLOW);
    canvas.drawLine(60, 40, 100, 40, p);// 画线
    p.setStyle(Paint.Style.FILL);
    canvas.drawText("画点:", 10, 360, p);
    canvas.drawPoint(60, 390, p);//画一个点
    Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);//画一贴图
    canvas.drawBitmap(bitmap, 250,360, p);
    }
    }

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规