canvas教程

017android初级篇之android canvas的使用

字号+ 作者:H5之家 来源:H5之家 2015-11-22 13:19 我要评论( )

理由canvas绘制各种图形 Canvas的意思是画布,表现在屏幕上就是一块区域,我们可以再上面使用各种API绘制我们想要的东西。 一个Canvas对象有四大基本要素: 如何获得一个Canvas对象。 Canvas对象的获取方式有三种: 我们通过重写View.onDraw方法,View中的Ca

理由canvas绘制各种图形

Canvas的意思是画布,表现在屏幕上就是一块区域,我们可以再上面使用各种API绘制我们想要的东西。
一个Canvas对象有四大基本要素:

如何获得一个Canvas对象。

Canvas对象的获取方式有三种:

  • 我们通过重写View.onDraw方法,View中的Canvas对象会被当做参数传递过来,我们操作这个Canvas,效果会直接反应在View中。
  • 就是当你想自己创建一个Canvas对象。从上面的基本要素可以明白,一个Canvas对象一定是结合了一个Bitmap对象的。所以一定要为一个Canvas对象设置一个Bitmap对象。
  • Bitmap b = Bitmap.createBitmap(100,100, Bitmap.Config.ARGB_8888); Canvas c = new Canvas(b);
  • 是调用SurfaceHolder.lockCanvas(),返回一个Canvas对象。
  • 其构造函数:

    Canvas() Construct an empty raster canvas. Canvas(Bitmap bitmap) Construct a canvas with the specified bitmap to draw into. Canvas(GL gl) Construct a canvas with the specified gl context. Canvas能绘制什么

    Canvas类提供了一系列的draw...方法,从这些方法的名字就可以知道Canvas可以绘制的对象。

    1. 填充 1. public void drawARGB(int a, int r, int g, int b) Fill the entire canvas' bitmap (restricted to the current clip) with the specified ARGB color, using srcover porterduff mode. 其中第一个参数代表透明度。 2. public void drawColor(int color) 3. public void drawRGB(int r, int g, int b) 4. public void drawColor(int color, PorterDuff.Mode mode) 2. 绘制几何图像 canvas.drawArc (扇形) canvas.drawCircle(圆) canvas.drawOval(椭圆) canvas.drawLine(线) canvas.drawPoint(点) canvas.drawRect(矩形) canvas.drawRoundRect(圆角矩形) canvas.drawVertices(顶点) cnavas.drawPath(路径) 3. 绘制文本 paint.setStrokeWidth(0); 空心的宽度 paint.setColor(textColor); paint.setTextSize(textSize); paint.setTypeface(Typeface.DEFAULT_BOLD); //设置字体 float y = paint.getFontMetrics().bottom - paint.getFontMetrics().top; //可用来计算字体的宽度 canvas.drawText(stepNumStr,centre-stepNumStrWidth/2,centre -2*y,paint);

    常用字体类型:

    Typeface.DEFAULT //常规字体类型 Typeface.DEFAULT_BOLD //黑体字体类型 Typeface.MONOSPACE //等宽字体类型 Typeface.SANS_SERIF //sans serif字体类型 Typeface.BOLD //粗体 Typeface.BOLD_ITALIC //粗斜体 Typeface.ITALIC //斜体 Typeface.NORMAL //常规 绘制图片

    canvas.drawBitmap (位图)
    canvas.drawPicture (图片)

    Canvas的变换

    Canvas还提供了一系列位置转换的方法:rorate、scale、translate、skew(扭曲)等。

    参考链接
  • Android Canvas API
  • Android 2D Graphics学习(二)、Canvas篇1、Canvas基本使用

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • 分享canvas画图的一些初级代码和函数

      分享canvas画图的一些初级代码和函数

      2017-03-13 10:00

    • js初级应用之canvas制作图片水印

      js初级应用之canvas制作图片水印

      2015-11-10 09:02

    • HTML5 canvas 初级入门教程【转】

      HTML5 canvas 初级入门教程【转】

      2015-09-07 19:03

    • HTML5 canvas 初级入门教程【转】

      HTML5 canvas 初级入门教程【转】

      2015-09-07 19:03

    网友点评
    >