| java.lang.Object | ||
| android.graphics.Canvas | ||
The Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into the bitmap), a drawing primitive (e.g. Rect, Path, text, Bitmap), and a paint (to describe the colors and styles for the drawing).
Nested Classes| Value | ||||
|---|---|---|---|---|
| int | CLIP_SAVE_FLAG | restore the current clip when restore() is called | 2 | 0x00000002 |
| int | CLIP_TO_LAYER_SAVE_FLAG | clip against the layer's bounds | 16 | 0x00000010 |
| int | FULL_COLOR_LAYER_SAVE_FLAG | the layer needs to 8-bits per color component | 8 | 0x00000008 |
| int | HAS_ALPHA_LAYER_SAVE_FLAG | the layer needs to per-pixel alpha | 4 | 0x00000004 |
| int | MATRIX_SAVE_FLAG | restore the current matrix when restore() is called | 1 | 0x00000001 |
| Canvas() | |||||
| Construct an empty canvas. | |||||
| Canvas(Bitmap bitmap) | |||||
| Construct a canvas with the specified bitmap to draw into. | |||||
| boolean | clipPath(Path path) | ||||
| Intersect the current clip with the specified path. | |||||
| boolean | clipPath(Path path, Op op) | ||||
| Modify the current clip with the specified path. | |||||
| boolean | clipRect(float left, float top, float right, float bottom) | ||||
| Intersect the current clip with the specified rectangle, which is expressed in local coordinates. | |||||
| boolean | clipRect(Rect rect) | ||||
| Intersect the current clip with the specified rectangle, which is expressed in local coordinates. | |||||
| boolean | clipRect(float left, float top, float right, float bottom, Op op) | ||||
| Modify the current clip with the specified rectangle, which is expressed in local coordinates. | |||||
| boolean | clipRect(Rect rect, Op op) | ||||
| Modify the current clip with the specified rectangle, which is expressed in local coordinates. | |||||
| boolean | clipRect(RectF rect) | ||||
| Intersect the current clip with the specified rectangle, which is expressed in local coordinates. | |||||
| boolean | clipRect(RectF rect, Op op) | ||||
| Modify the current clip with the specified rectangle. | |||||
| boolean | clipRect(int left, int top, int right, int bottom) | ||||
| Intersect the current clip with the specified rectangle, which is expressed in local coordinates. | |||||
| boolean | clipRegion(Region region, Op op) | ||||
| Modify the current clip with the specified region. | |||||
| boolean | clipRegion(Region region) | ||||
| Intersect the current clip with the specified region. | |||||
| void | concat(Matrix matrix) | ||||
| Preconcat the current matrix with the specified matrix. | |||||
| 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. | |||||
| void | drawArc(RectF oval, float startAngle, float sweepAngle, Paint paint) | ||||
| Draw the specified arc, which will be scaled to fit inside the specified oval. | |||||
| void | drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint) | ||||
| Draw the specified bitmap, scaling/translating automatically to fill the destination rectangle. | |||||
| void | drawBitmap(Bitmap bitmap, float left, float top, Paint paint) | ||||
| Draw the specified bitmap, with its top/left corner at (x,y), using the specified paint, transformed by the current matrix. | |||||
| void | drawBitmap(Bitmap bitmap, Rect src, RectF dst, Paint paint) | ||||
| Draw the specified bitmap, scaling/translating automatically to fill the destination rectangle. | |||||
| void | drawCircle(float cx, float cy, float radius, Paint paint) | ||||
| Draw the specified circle using the specified paint. | |||||
| void | drawColor(int color) | ||||
| Fill the entire canvas' bitmap (restricted to the current clip) with the specified color, using srcover porterduff mode. | |||||
| void | drawColor(int color, Mode mode) | ||||
| Fill the entire canvas' bitmap (restricted to the current clip) with the specified color and porter-duff xfermode. | |||||
| void | drawLine(float startX, float startY, float stopX, float stopY, Paint paint) | ||||
| Draw a line segment with the specified start and stop x,y coordinates, using the specified paint. | |||||
| void | drawOval(RectF oval, Paint paint) | ||||
| Draw the specified oval using the specified paint. | |||||
| void | drawPaint(Paint paint) | ||||
| Fill the entire canvas' bitmap (restricted to the current clip) with the specified paint. | |||||
| void | drawPath(Path path, Paint paint) | ||||
| Draw the specified path using the specified paint. | |||||
| void | drawPicture(Picture picture) | ||||
| Save the canvas state, draw the picture, and restore the canvas state. | |||||
| void | drawPoint(float x, float y, Paint paint) | ||||
| Helper for drawPoints() for drawing a single point. | |||||
| void | drawPoints(float[] pts, int offset, int length, Paint paint) | ||||
| Draw a series of points. | |||||
| void | drawPoints(float[] pts, Paint paint) | ||||
| Helper for drawPoints() that assumes you want to draw the entire array | |||||
| void | drawPosText(char[] text, int index, int count, float[] pos, Paint paint) | ||||
| Draw the text in the array, with each character's origin specified by the pos array. | |||||
| void | drawPosText(String text, float[] pos, Paint paint) | ||||
| Draw the text in the array, with each character's origin specified by the pos array. | |||||
| void | drawRGB(int r, int g, int b) | ||||
| Fill the entire canvas' bitmap (restricted to the current clip) with the specified RGB color, using srcover porterduff mode. | |||||
| void | drawRect(RectF rect, Paint paint) | ||||
| Draw the specified Rect using the specified paint. | |||||
| void | drawRect(float left, float top, float right, float bottom, Paint paint) | ||||
| Draw the specified Rect using the specified paint. | |||||
| void | drawRect(Rect r, Paint paint) | ||||
| Draw the specified Rect using the specified Paint. | |||||
| void | drawRoundRect(RectF rect, float rx, float ry, Paint paint) | ||||
| Draw the specified round-rect using the specified paint. | |||||
| void | drawText(String text, int start, int end, float x, float y, Paint paint) | ||||
| Draw the text, with origin at (x,y), using the specified paint. | |||||
| void | drawText(char[] text, int index, int count, float x, float y, Paint paint) | ||||
| Draw the text, with origin at (x,y), using the specified paint. | |||||
| void | drawText(String text, float x, float y, Paint paint) | ||||
| Draw the text, with origin at (x,y), using the specified paint. | |||||
| void | drawText(CharSequence text, int start, int end, float x, float y, Paint paint) | ||||
| Draw the specified range of text, specified by start/end, with its origin at (x,y), in the specified Paint. | |||||
| void | drawTextOnPath(String text, Path path, float hOffset, float vOffset, Paint paint) | ||||
| Draw the text, with origin at (x,y), using the specified paint, along the specified path. | |||||
| void | drawTextOnPath(char[] text, int index, int count, Path path, float hOffset, float vOffset, Paint paint) | ||||
| Draw the text, with origin at (x,y), using the specified paint, along the specified path. | |||||
| int | getBitmapHeight() | ||||
| Returns the height of the current drawing layer | |||||
| int | getBitmapWidth() | ||||
| Returns the width of the current drawing layer | |||||
| final | Matrix | getCTM() | |||
| Return a new matrix with a copy of the canvas' current transformation matrix. | |||||
| void | getCTM(Matrix ctm) | ||||
| Return, in ctm, the current transformation matrix. | |||||
| boolean | getClipBounds(Rect bounds) | ||||
| Retrieve the clip bounds, returning true if they are non-empty. | |||||
| final | Rect | getClipBounds() | |||
| Retrieve the clip bounds. | |||||
| DrawFilter | getDrawFilter() | ||||
| int | getSaveCount() | ||||
| Returns the number of matrix/clip states on the Canvas' private stack. | |||||
| boolean | isBitmapOpaque() | ||||
| Return true if the bitmap that the current layer draws into is opaque (i.e. | |||||
| boolean | quickReject(Path path, EdgeType type) | ||||
| Return true if the specified path, after being transformed by the current matrix, would lie completely outside of the current clip. | |||||
| boolean | quickReject(float left, float top, float right, float bottom, EdgeType type) | ||||
| Return true if the specified rectangle, after being transformed by the current matrix, would lie completely outside of the current clip. | |||||
| boolean | quickReject(RectF rect, EdgeType type) | ||||
| Return true if the specified rectangle, after being transformed by the current matrix, would lie completely outside of the current clip. | |||||
| void | restore() | ||||
| This call balances a previous call to save(), and is used to remove all modifications to the matrix/clip state since the last save call. | |||||
| void | restoreToCount(int saveCount) | ||||
| Efficient way to pop any calls to save() that happened after the save count reached saveCount. | |||||
| final | void | rotate(float degrees, float px, float py) | |||
| Preconcat the current matrix with the specified rotation. | |||||
| void | rotate(float degrees) | ||||
| Preconcat the current matrix with the specified rotation. | |||||
| int | save() | ||||
| Saves the current matrix and clip onto a private stack. | |||||
| int | save(int saveFlags) | ||||
| Based on saveFlags, can save the current matrix and clip onto a private stack. | |||||
| int | saveLayer(float left, float top, float right, float bottom, Paint paint, int saveFlags) | ||||
| Helper version of saveLayer() that takes 4 values rather than a RectF. | |||||
| int | saveLayer(RectF bounds, Paint paint, int saveFlags) | ||||
| This behaves the same as save(), but in addition it allocates an offscreen bitmap. | |||||
| int | saveLayerAlpha(float left, float top, float right, float bottom, int alpha, int saveFlags) | ||||
| Helper for saveLayerAlpha() that takes 4 values instead of a RectF. | |||||
| int | saveLayerAlpha(RectF bounds, int alpha, int saveFlags) | ||||
| This behaves the same as save(), but in addition it allocates an offscreen bitmap. | |||||
| final | void | scale(float sx, float sy, float px, float py) | |||
| Preconcat the current matrix with the specified scale. | |||||
| void | scale(float sx, float sy) | ||||
| Preconcat the current matrix with the specified scale. | |||||
| void | setDevice(Bitmap bitmap) | ||||
| Specify a bitmap for the canvas to draw into. | |||||
| void | setDrawFilter(DrawFilter filter) | ||||
| void | skew(float sx, float sy) | ||||
| Preconcat the current matrix with the specified skew. | |||||
| void | translate(float dx, float dy) | ||||
| Preconcat the current matrix with the specified translation | |||||
| void | finalize() | ||||
| Called by the virtual machine when there are no longer any (non-weak) references to the receiver. | |||||
Methods inherited
from class
java.lang.Object
| bitmap | Specifies a mutable bitmap for the canvas to draw into. |
|---|
| path | The path to intersect with the current clip |
|---|
| path | The path to operate on the current clip |
|---|---|
| op | How the clip is modified |
| left | The left side of the rectangle to intersect with the current clip |
|---|---|
| top | The top of the rectangle to intersect with the current clip |
| right | The right side of the rectangle to intersect with the current clip |
| bottom | The bottom of the rectangle to intersect with the current clip |
| rect | The rectangle to intersect with the current clip. |
|---|
| left | The left side of the rectangle to intersect with the current clip |
|---|---|
| top | The top of the rectangle to intersect with the current clip |
| right | The right side of the rectangle to intersect with the current clip |
| bottom | The bottom of the rectangle to intersect with the current clip |
| op | How the clip is modified |
| rect | The rectangle to intersect with the current clip. |
|---|---|
| op | How the clip is modified |
| rect | The rectangle to intersect with the current clip. |
|---|
| rect | The rect to intersect with the current clip |
|---|---|
| op | How the clip is modified |
| left | The left side of the rectangle to intersect with the current clip |
|---|---|
| top | The top of the rectangle to intersect with the current clip |
| right | The right side of the rectangle to intersect with the current clip |
| bottom | The bottom of the rectangle to intersect with the current clip |
| region | The region to operate on the current clip, based on op |
|---|---|
| op | How the clip is modified |
| region | The region to operate on the current clip, based on op |
|---|
| matrix | The matrix to preconcatenate with the current matrix |
|---|
| a | alpha component (0..255) of the color to draw onto the canvas |
|---|---|
| r | red component (0..255) of the color to draw onto the canvas |
| g | green component (0..255) of the color to draw onto the canvas |
| b | blue component (0..255) of the color to draw onto the canvas |
| oval | The bounds of oval used to define the shape and size of the arc |
|---|---|
| startAngle | Starting angle (in degrees) where the arc begins |
| sweepAngle | Sweep angle (in degrees) measured clockwise |
| paint | The paint used to draw the arc |
| bitmap | The bitmap to be drawn |
|---|---|
| src | May be null. The subset of the bitmap to be drawn |
| dst | The rectangle that the bitmap will be scaled/translated to fit into |
| paint | May be null. The paint used to draw the bitmap |
| bitmap | The bitmap to be drawn |
|---|---|
| left | The position of the left side of the bitmap being drawn |
| top | The position of the top side of the bitmap being drawn |
| paint | The paint used to draw the bitmap (may be null) |
| bitmap | The bitmap to be drawn |
|---|---|
| src | May be null. The subset of the bitmap to be drawn |
| dst | The rectangle that the bitmap will be scaled/translated to fit into |
| paint | May be null. The paint used to draw the bitmap |
| cx | The x-coordinate of the center of the cirle to be drawn |
|---|---|
| cy | The y-coordinate of the center of the cirle to be drawn |
| radius | The radius of the cirle to be drawn |
| paint | The paint used to draw the circle |
| color | the color to draw onto the canvas |
|---|
| color | the color to draw with |
|---|---|
| mode | the porter-duff mode to apply to the color |
| startX | The x-coordinate of the start point of the line |
|---|---|
| startY | The y-coordinate of the start point of the line |
| paint | The paint used to draw the line |
| oval | The rectangle bounds of the oval to be drawn |
|---|
| paint | The paint used to draw onto the canvas |
|---|
| path | The path to be drawn |
|---|---|
| paint | The paint used to draw the path |
| picture | The picture to be drawn |
|---|
| pts | Array of points to draw [x0 y0 x1 y1 x2 y2 ...] |
|---|---|
| offset | Logical index of the first point to draw (internally this becomes offset*2 to find the first [x ...] value) |
| length | The logical number of points to draw (internally this becomes length*2 to know how many floats to process) |
| paint | The paint used to draw the points |
| text | The text to be drawn |
|---|---|
| index | The index of the first character to draw |
| count | The number of characters to draw, starting from index. |
| pos | Array of [x,y] positions, used to position each character |
| paint | The paint used for the text (e.g. color, size, style) |
| text | The text to be drawn |
|---|---|
| pos | Array of [x,y] positions, used to position each character |
| paint | The paint used for the text (e.g. color, size, style) |
| r | red component (0..255) of the color to draw onto the canvas |
|---|---|
| g | green component (0..255) of the color to draw onto the canvas |
| b | blue component (0..255) of the color to draw onto the canvas |
| rect | The rect to be drawn |
|---|---|
| paint | The paint used to draw the rect |
| left | The left side of the rectangle to be drawn |
|---|---|
| top | The top side of the rectangle to be drawn |
| right | The right side of the rectangle to be drawn |
| bottom | The bottom side of the rectangle to be drawn |
| paint | The paint used to draw the rect |
| r | The rectangle to be drawn. |
|---|---|
| paint | The paint used to draw the rectangle |
| rect | The rectangular bounds of the roundRect to be drawn |
|---|---|
| rx | The x-radius of the oval used to round the corners |
| ry | The y-radius of the oval used to round the corners |
| paint | The paint used to draw the roundRect |
| text | The text to be drawn |
|---|---|
| start | The index of the first character in text to draw |
| end | (end - 1) is the index of the last character in text to draw |
| x | The x-coordinate of the origin of the text being drawn |
| y | The y-coordinate of the origin of the text being drawn |
| paint | The paint used for the text (e.g. color, size, style) |
| text | The text to be drawn |
|---|---|
| x | The x-coordinate of the origin of the text being drawn |
| y | The y-coordinate of the origin of the text being drawn |
| paint | The paint used for the text (e.g. color, size, style) |
| text | The text to be drawn |
|---|---|
| x | The x-coordinate of the origin of the text being drawn |
| y | The y-coordinate of the origin of the text being drawn |
| paint | The paint used for the text (e.g. color, size, style) |
| text | The text to be drawn |
|---|---|
| start | The index of the first character in text to draw |
| end | (end - 1) is the index of the last character in text to draw |
| x | The x-coordinate of origin for where to draw the text |
| y | The y-coordinate of origin for where to draw the text |
| paint | The paint used for the text (e.g. color, size, style) |
| text | The text to be drawn |
|---|---|
| path | The path the text should follow for its baseline |
| hOffset | The distance along the path to add to the text's starting position |
| vOffset | The distance above(-) or below(+) the path to position the text |
| paint | The paint used for the text (e.g. color, size, style) |
| text | The text to be drawn |
|---|---|
| path | The path the text should follow for its baseline |
| hOffset | The distance along the path to add to the text's starting position |
| vOffset | The distance above(-) or below(+) the path to position the text |
| paint | The paint used for the text (e.g. color, size, style) |
| bounds | Return the clip bounds here. If it is null, ignore it but still return true if the current clip is non-empty. |
|---|
| path | The path to compare with the current clip |
|---|---|
| type | true if the path should be considered antialiased, since that means it may affect a larger area (more pixels) than non-antialiased. |
| left | The left side of the rectangle to compare with the current clip |
|---|---|
| top | The top of the rectangle to compare with the current clip |
| right | The right side of the rectangle to compare with the current clip |
| bottom | The bottom of the rectangle to compare with the current clip |
| type | true if the rect should be considered antialiased, since that means it may affect a larger area (more pixels) than non-antialiased. |
| rect | the rect to compare with the current clip |
|---|---|
| type | specifies how to treat the edges (BW or antialiased) |