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).
Value | ||||
---|---|---|---|---|
int | ALL_SAVE_FLAG | restore everything when restore() is called | 31 | 0x0000001f |
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 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. |
boolean | clipPath(Path path) | |||||
Intersect the current clip with the specified path. | ||||||
boolean | clipPath(Path path, Region.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, Region.Op op) | |||||
Modify the current clip with the specified rectangle, which is expressed in local coordinates. | ||||||
boolean | clipRect(Rect rect, Region.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, Region.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, 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, boolean useCenter, Paint paint) | |||||
Draw the specified arc, which will be scaled to fit inside the specified oval. | ||||||
void | drawBitmap(Bitmap bitmap, Matrix matrix, Paint paint) | |||||
Draw the bitmap using the specified matrix. | ||||||
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(int[] colors, int offset, int stride, int x, int y, int width, int height, boolean hasAlpha, Paint paint) | |||||
Treat the specified array of colors as a bitmap, and draw it. | ||||||
void | drawBitmap(Bitmap bitmap, Rect src, RectF dst, Paint paint) | |||||
Draw the specified bitmap, scaling/translating automatically to fill the destination rectangle. | ||||||
void | drawBitmapMesh(Bitmap bitmap, int meshWidth, int meshHeight, float[] verts, int vertOffset, int[] colors, int colorOffset, Paint paint) | |||||
Draw the bitmap through the mesh, where mesh vertices are evenly distributed across the bitmap. | ||||||
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, PorterDuff.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 | drawLines(float[] pts, Paint paint) | |||||
void | drawLines(float[] pts, int offset, int count, Paint paint) | |||||
Draw a series of lines. | ||||||
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, RectF dst) | |||||
Draw the picture, stretched to fit into the dst rectangle. | ||||||
void | drawPicture(Picture picture, Rect dst) | |||||
Draw the picture, stretched to fit into the dst rectangle. | ||||||
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 count, 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. | ||||||
void | drawVertices(Canvas.VertexMode mode, int vertexCount, float[] verts, int vertOffset, float[] texs, int texOffset, int[] colors, int colorOffset, short[] indices, int indexOffset, int indexCount, Paint paint) | |||||
Draw the array of vertices, interpreted as triangles (based on mode). | ||||||
static | void | freeGlCaches() | ||||
Call this to free up OpenGL resources that may be cached or allocated on behalf of the Canvas. | ||||||
boolean | getClipBounds(Rect bounds) | |||||
Retrieve the clip bounds, returning true if they are non-empty. | ||||||
final | Rect | getClipBounds() | ||||
Retrieve the clip bounds. | ||||||
DrawFilter | getDrawFilter() | |||||
GL | getGL() | |||||
Return the GL object associated with this canvas, or null if it is not backed by GL. | ||||||
int | getHeight() | |||||
Returns the height of the current drawing layer | ||||||
void | getMatrix(Matrix ctm) | |||||
Return, in ctm, the current transformation matrix. | ||||||
final | Matrix | getMatrix() | ||||
Return a new matrix with a copy of the canvas' current transformation matrix. | ||||||
int | getSaveCount() | |||||
Returns the number of matrix/clip states on the Canvas' private stack. | ||||||
int | getWidth() | |||||
Returns the width of the current drawing layer | ||||||
boolean | isOpaque() | |||||
Return true if the device that the current layer draws into is opaque (i.e. | ||||||
boolean | quickReject(Path path, Canvas.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, Canvas.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, Canvas.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 | setBitmap(Bitmap bitmap) | |||||
Specify a bitmap for the canvas to draw into. | ||||||
void | setDrawFilter(DrawFilter filter) | |||||
void | setMatrix(Matrix matrix) | |||||
Completely replace the current matrix with the specified matrix. | ||||||
void | setViewport(int width, int height) | |||||
Set the viewport dimensions if this canvas is GL based. | ||||||
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. |
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 |
useCenter | If true, include the center of the oval in the arc, and close it if it is being stroked. This will draw a wedge |
paint | The paint used to draw the arc |
bitmap | The bitmap to draw |
---|---|
matrix | The matrix used to transform the bitmap when it is drawn |
paint | May be null. The paint used to draw the bitmap |
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) |
colors | Array of colors representing the pixels of the bitmap |
---|---|
offset | Offset into the array of colors for the first pixel |
stride | The number of of colors in the array between rows (must be >= width or <= -width). |
x | The X coordinate for where to draw the bitmap |
y | The Y coordinate for where to draw the bitmap |
width | The width of the bitmap |
height | The height of the bitmap |
hasAlpha | True if the alpha channel of the colors contains valid values. If false, the alpha byte is ignored (assumed to be 0xFF for every pixel). |
paint | May be null. The paint used to draw the bitmap |
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 draw using the mesh |
---|---|
meshWidth | The number of columns in the mesh. Nothing is drawn if this is 0 |
meshHeight | The number of rows in the mesh. Nothing is drawn if this is 0 |
verts | Array of x,y pairs, specifying where the mesh should be drawn. There must be at least (meshWidth+1) * (meshHeight+1) * 2 + meshOffset values in the array |
vertOffset | Number of verts elements to skip before drawing |
colors | May be null. Specifies a color at each vertex, which is interpolated across the cell, and whose values are multiplied by the corresponding bitmap colors. If not null, there must be at least (meshWidth+1) * (meshHeight+1) + colorOffset values in the array. |
colorOffset | Number of color elements to skip before drawing |
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 |
pts | Array of points to draw [x0 y0 x1 y1 x2 y2 ...] |
---|---|
offset | Number of values in the array to skip before drawing. |
count | The number of values in the array to process, after skipping "offset" of them. Since each line uses 4 values, the number of "lines" that are drawn is really (count >> 2). |
paint | The paint used to draw the points |
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 | Number of values to skip before starting to draw. |
count | The number of values to process, after skipping offset of them. Since one point uses two values, the number of "points" that are drawn is really (count >> 1). |
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) |
mode | How to interpret the array of vertices |
---|---|
vertexCount | The number of values in the vertices array (and corresponding texs and colors arrays if non-null). Each logical vertex is two values (x, y), vertexCount must be a multiple of 2. |
verts | Array of vertices for the mesh |
vertOffset | Number of values in the verts to skip before drawing. |
texs | May be null. If not null, specifies the coordinates to sample into the current shader (e.g. bitmap tile or gradient) |
texOffset | Number of values in texs to skip before drawing. |
colors | May be null. If not null, specifies a color for each vertex, to be interpolated across the triangle. |
colorOffset | Number of values in colors to skip before drawing. |
indices | If not null, array of indices to reference into the vertex (texs, colors) array. |
indexCount | number of entries in the indices array (if not null). |
paint | Specifies the shader to use if the texs array is non-null. |
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) |
saveCount | The save level to restore to. |
---|
degrees | The amount to rotate, in degrees |
---|---|
px | The x-coord for the pivot point (unchanged by the rotation) |
py | The y-coord for the pivot point (unchanged by the rotation) |
degrees | The amount to rotate, in degrees |
---|
saveFlags | flag bits that specify which parts of the Canvas state to save/restore |
---|
bounds | May be null. The maximum size the offscreen bitmap needs to be (in local coordinates) |
---|---|
paint | This is copied, and is applied to the offscreen when restore() is called. |
saveFlags | see _SAVE_FLAG constants |
bounds | The maximum size the offscreen bitmap needs to be (in local coordinates) |
---|---|
alpha | The alpha to apply to the offscreen when when it is drawn during restore() |
saveFlags | see _SAVE_FLAG constants |
sx | The amount to scale in X |
---|---|
sy | The amount to scale in Y |
px | The x-coord for the pivot point (unchanged by the rotation) |
py | The y-coord for the pivot point (unchanged by the rotation) |
sx | The amount to scale in X |
---|---|
sy | The amount to scale in Y |
bitmap | Specifies a mutable bitmap for the canvas to draw into. |
---|
matrix | The matrix to replace the current matrix with. If it is null, set the current matrix to identity. |
---|
width | The width of the viewport |
---|---|
height | The height of the viewport |
sx | The amount to skew in X |
---|---|
sy | The amount to skew in Y |
dx | The distance to translate in X |
---|---|
dy | The distance to translate in Y |
Note: The virtual machine assumes that the implementation in class Object is empty.
Throwable |
---|
Copyright 2007 Google Inc. | Build 0.9_r1-98467 - 14 Aug 2008 18:56 |