Android绘图的三个基本类:
Bitmap
:相当于我们绘制出来的图像Paint
:相当于我们绘图所用的画笔Canvas
:相当于我们绘图所用的画布
1. Bitmap
2. Paint
Paint拥有绘制几何,文本,位图的风格与颜色信息。
1. 新建一个Paint对象
Paint有三个构造方法,我们可以通过这三个构造方法创建Paint对象:
Paint()
:用默认设置创建一个Paint对象Paint(int flags)
:用特殊标记创建一个Paint对象Paint(Paint paint)
:用指定Paint对象的参数初始化一个新的Paint对象
2. 常用方法
setARGB(int a, int r, int g, int b)
:设置画笔颜色setAntiAlias(boolean aa)
:设置是否抗锯齿setColor(int color)
:设置画笔颜色setAlpha(int a)
:设置画笔透明度setTextSize(float textSize)
:设置字体大小setUnderlineText(boolean underlineText)
:设置文本带有下划线效果setStrikeThruText(boolean strikeThruText)
:设置文本带删除线效果setTextSkewX(float skewX)
:设置文本倾斜度setTextScaleX(float scaleX)
:设置文本缩放大小setTextAlign(Paint.Align align)
:设置文本对齐方式setTypeface(Typeface typeface)
:设置字体setStyle(Paint.Style style)
:设置画笔样式,画笔样式有三种Paint.Style.FILL
:默认值,用这种风格绘制的几何图与文本将被填充,它画出来的是实心图Paint.Style.STROKE
:用这种风格绘制的几何图与文本将被画出外边框,它画出来的是空心图Paint.Style.FILL_AND_STROKE
:用这种风格绘制的几何图与文本将被填充并被画出外边框,从表面看它画出来的也是实心图,不过比一般画出来的实心图多了一层外边框
setStrokeWidth(float width)
:设置画笔外边框的宽度,可以想象成画笔“画出线条的宽度”setXfermode(Xfermode xfermode)
:设置图像重叠时的处理方式setShader(Shader shader)
:设置着色器setPathEffect(PathEffect effect)
:设置或者清除路径效果
3. Canvas
Canvas拥有“绘制”调用,可以调用方法进行图像绘制。
画图时需要四个基本元素:
- 拥有像素的Bitmap
- 可以进行绘制调用的Canvas
- 图元(比如:Rect, Path, text, Bitmap)
- 描述风格与颜色的Paint
1. 新建一个Canvas对象
Canvas有两个构造方法,我们可以通过这两个构造方法创建Canvas对象:
Canvas()
:创建一个空的Canvas对象Canvas(Bitmap bitmap)
:用指定的位图构造一个Canvas对象
2. 常用方法
drawARGB()
:用指定ARGB颜色填充画布上面的位图drawRGB()
:用指定RGB颜色填充画布上面的位图drawColor()
:用指定颜色填充画布上面的位图drawArc()
:画圆弧drawBitmap()
:画位图drawCircle()
:画圆drawLine()
:画直线drawLines()
:画折线drawOval()
:画椭圆drawRect()
:画矩形drawRoundRect()
:画圆角矩形drawPoint()
:画点drawPoints()
:画一组点drawPath()
:画路径drawText()
:画文本
文/lavor(简书作者)
原文链接:http://www.jianshu.com/p/d2c7a837265e
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
原文链接:http://www.jianshu.com/p/d2c7a837265e
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。