Canvas

Wisej.Web.Canvas

Namespace: Wisej.Web

Assembly: Wisej.Framework (3.2.0.0)

Represents the HTML5 canvas element.

public class Canvas : Control, IWisejHandler

Constructors

Canvas()

Initializes a new instance of the Canvas class.

Properties

BorderStyle

BorderStyle: Indicates the border style for the control. (Default: None)

FillStyle

Object: Sets or returns the color, gradient, or pattern used to fill the drawing.

GlobalAlpha

Single: Sets or returns the current alpha or transparency value of the drawing.

GlobalCompositeOperation

CanvasCompositeOperation: Sets or returns how a new image are drawn onto an existing image.

LineCap

CanvasLineCap: Sets or returns the style of the end caps for a line.

LineDashOffset

Single: Sets or returns the type of corner created, when two lines meet.

LineJoin

CanvasLineJoin: Sets or returns the type of corner created, when two lines meet.

LineWidth

Int32: Sets or returns the current line width, in pixels.

LiveUpdate

Boolean: Turns live update mode on or off. When live update is on, all canvas calls are pushed to the client immediately, when is off (default) the control updates the client at the end of the request.

MiterLimit

Int32: Sets or returns the maximum miter length.

ShadowBlur

Int32: Sets or returns the blur level for shadows.

ShadowColor

Color: Sets or returns the color to use for shadows.

ShadowOffsetX

Int32: Sets or returns the horizontal distance of the shadow from the shape.

ShadowOffsetY

Int32: Sets or returns the vertical distance of the shadow from the shape.

StrokeStyle

Object: Sets or returns the color, gradient, or pattern used for strokes.

TextAlign

CanvasTextAlign: Sets or returns the current alignment for text content, according to the anchor point.

TextBaseline

CanvasTextBaseline: Sets or returns the current text baseline used when drawing text.

TextFont

Font: Sets or returns the current font properties for text content on the canvas.

Methods

Arc(x, y, radius, startAngle, endAngle, counterClockwise)

Creates an arc/curve (used to create circles, or parts of circles).

Parameter
Type
Description

x

The x-coordinate of the center of the circle.

y

The y-coordinate of the center of the circle.

radius

The radius of the circle.

startAngle

The starting angle, in degrees.

endAngle

The ending angle, in degrees.

counterClockwise

Specifies whether the drawing should be counterclockwise or clockwise. Default is false.

Arc(location, radius, startAngle, endAngle, counterClockwise)

Creates an arc/curve (used to create circles, or parts of circles).

Parameter
Type
Description

location

The x-coordinate and y-coordinate of the center of the circle.

radius

The radius of the circle.

startAngle

The starting angle, in degrees.

endAngle

The ending angle, in degrees.

counterClockwise

Specifies whether the drawing should be counterclockwise or clockwise. Default is false.

ArcTo(x1, y1, x2, y2, radius)

Creates an arc/curve between two tangents on the canvas.

Parameter
Type
Description

x1

The x-coordinate of the first tangent.

y1

The y-coordinate of the first tangent.

x2

The x-coordinate of the second tangent.

y2

The y-coordinate of the second tangent.

radius

The radius of the arc

ArcTo(location1, location2, radius)

Creates an arc/curve between two tangents on the canvas.

Parameter
Type
Description

location1

The x-coordinate and y-coordinate of the first tangent.

location2

The x-coordinate and y-coordinate of the second tangent.

radius

The radius of the arc

BeginPath()

begins a path, or resets the current path.

BezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y)

Adds a point to the current path by using the specified control points that represent a cubic Bézier curve.

Parameter
Type
Description

cp1x

The x-coordinate of the first Bézier control point.

cp1y

The y-coordinate of the first Bézier control point.

cp2x

The x-coordinate of the second Bézier control point.

cp2y

The y-coordinate of the second Bézier control point.

x

The x-coordinate of the ending point.

y

The y-coordinate of the ending point.

A cubic bezier curve requires three points. The first two points are control points that are used in the cubic Bézier calculation and the last point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point.

ClearRect(rect)

Clears the specified pixels within a given rectangle.

Parameter
Type
Description

rect

Rectangle's coordinates and size.

ClearRect(x, y, width, height)

Clears the specified pixels within a given rectangle.

Parameter
Type
Description

x

The x-coordinate of the upper-left corner of the rectangle.

y

The y-coordinate of the upper-left corner of the rectangle.

width

The width of the rectangle, in pixels.

height

The height of the rectangle, in pixels.

Clip()

Clips a region of any shape and size from the original canvas.

Once a region is clipped, all future drawing will be limited to the clipped region (no access to other regions on the canvas). You can however save the current canvas region using the save() method before using the clip() method, and restore it (with the restore() method) any time in the future.

ClosePath()

Creates a path from the current point back to the starting point.

CreateLinearGradient(x0, y0, x1, y1, colorStops)

Creates a linear gradient object. The gradient can be used to fill rectangles, circles, lines, text, etc.

Parameter
Type
Description

x0

The x-coordinate of the start point of the gradient.

y0

The y-coordinate of the start point of the gradient.

x1

The x-coordinate of the end point of the gradient.

y1

The y-coordinate of the end point of the gradient.

colorStops

Array of color stops. Each element must define a stop value between 0.0 and 1.0 and a color value.

Returns: Object.

CreatePattern(image, repeat)

Repeats the specified element in the specified direction. The repeated element can be used to draw/fill rectangles, circles, lines etc.

Parameter
Type
Description

image

Specifies the image of the pattern to use.

repeat

Specifies the repeat pattern.

Returns: Object.

CreatePattern(imageSource, repeat)

Repeats the specified element in the specified direction. The repeated element can be used to draw/fill rectangles, circles, lines etc.

Parameter
Type
Description

imageSource

Specifies the source of the image of the pattern to use.

repeat

Specifies the repeat pattern.

Returns: Object.

CreateRadialGradient(x0, y0, r0, x1, y1, r1, colorStops)

Creates a linear gradient object. The gradient can be used to fill rectangles, circles, lines, text, etc.

Parameter
Type
Description

x0

The x-coordinate of the start point of the gradient.

y0

The y-coordinate of the start point of the gradient.

r0

The radius of the starting circle.

x1

The x-coordinate of the end point of the gradient.

y1

The y-coordinate of the end point of the gradient.

r1

The radius of the ending circle.

colorStops

Array of color stops. Each element must define a stop value between 0.0 and 1.0 and a color value.

Returns: Object.

DrawImage(image, x, y)

Draws an image onto the canvas.

Parameter
Type
Description

image

Specifies the image to draw.

x

The x-coordinate where to place the image on the canvas.

y

The y-coordinate where to place the image on the canvas.

DrawImage(image, location)

Draws an image onto the canvas.

Parameter
Type
Description

image

Specifies the image to draw.

location

The x-coordinate and y-coordinate where to place the image on the canvas.

DrawImage(image, x, y, width, height)

Draws an image onto the canvas.

Parameter
Type
Description

image

Specifies the image to draw.

x

The x-coordinate where to place the image on the canvas.

y

The y-coordinate where to place the image on the canvas.

width

The width of the image to use (stretch or reduce the image).

height

The height of the image to use (stretch or reduce the image).

DrawImage(image, rect)

Draws an image onto the canvas.

Parameter
Type
Description

image

Specifies the image to draw.

rect

The coordinates and size of the image to place on the canvas.

DrawImage(image, clipX, clipY, clipWidth, clipHeight, x, y, width, height)

Draws an image onto the canvas.

Parameter
Type
Description

image

Specifies the image to draw.

clipX

The x-coordinate where to start clipping.

clipY

The y-coordinate where to start clipping.

clipWidth

The width of the clipped image.

clipHeight

The height of the clipped image.

x

The x coordinate where to place the image on the canvas.

y

The y coordinate where to place the image on the canvas.

width

The width of the image to use (stretch or reduce the image).

height

The height of the image to use (stretch or reduce the image).

DrawImage(image, clipRect, imageRect)

Draws an image onto the canvas.

Parameter
Type
Description

image

Specifies the image to draw.

clipRect

The clip rectangle.

imageRect

The size and location of the image to place on the canvas.

DrawImage(imageSource, x, y)

Draws an image onto the canvas.

Parameter
Type
Description

imageSource

Specifies the image to draw.

x

The x-coordinate where to place the image on the canvas.

y

The y-coordinate where to place the image on the canvas.

DrawImage(imageSource, location)

Draws an image onto the canvas.

Parameter
Type
Description

imageSource

Specifies the image to draw.

location

The x-coordinate and y-coordinate where to place the image on the canvas.

DrawImage(imageSource, x, y, width, height)

Draws an image onto the canvas.

Parameter
Type
Description

imageSource

Specifies the image to draw.

x

The x coordinate where to place the image on the canvas.

y

The y coordinate where to place the image on the canvas.

width

The width of the image to use (stretch or reduce the image).

height

The height of the image to use (stretch or reduce the image).

DrawImage(imageSource, rect)

Draws an image onto the canvas.

Parameter
Type
Description

imageSource

Specifies the image to draw.

rect

The coordinates and size of the image to place on the canvas.

DrawImage(imageSource, clipX, clipY, clipWidth, clipHeight, x, y, width, height)

Draws an image onto the canvas.

Parameter
Type
Description

imageSource

Specifies the image to draw.

clipX

The x coordinate where to start clipping.

clipY

The y coordinate where to start clipping.

clipWidth

The width of the clipped image.

clipHeight

The height of the clipped image.

x

The x coordinate where to place the image on the canvas.

y

The y coordinate where to place the image on the canvas.

width

The width of the image to use (stretch or reduce the image).

height

The height of the image to use (stretch or reduce the image).

DrawImage(imageSource, clipRect, imageRect)

Draws an image onto the canvas.

Parameter
Type
Description

imageSource

Specifies the image to draw.

clipRect

The clip rectangle.

imageRect

The size and location of the image to place on the canvas.

Fill()

Fills the current drawing (path.)

FillRect(rect)

Draws a "filled" rectangle. The default color of the fill is black.

Parameter
Type
Description

rect

Rectangle's coordinates and size.

FillRect(x, y, width, height)

Draws a "filled" rectangle. The default color of the fill is black.

Parameter
Type
Description

x

The x-coordinate of the upper-left corner of the rectangle.

y

The y-coordinate of the upper-left corner of the rectangle.

width

The width of the rectangle, in pixels.

height

The height of the rectangle, in pixels.

FillText(text, x, y)

Draws filled text on the canvas. The default color of the text is black.

Parameter
Type
Description

text

Specifies the text that will be written on the canvas.

x

The x-coordinate where to start painting the text (relative to the canvas).

y

The y-coordinate where to start painting the text (relative to the canvas)

FillText(text, location)

Draws filled text on the canvas. The default color of the text is black.

Parameter
Type
Description

text

Specifies the text that will be written on the canvas.

location

The x-coordinate and y-coordinate where to start painting the text (relative to the canvas).

GetLineDash()

Returns the current line dash pattern.

Returns: Int32[]. A list of numbers that specifies distances to alternately draw a line and a gap (in coordinate space units).

LineTo(x, y)

Adds a new point and creates a line TO that point FROM the last specified point in the canvas (this method does not draw the line).

Parameter
Type
Description

x

The x-coordinate of where to create the line to.

y

The y-coordinate of where to create the line to.

LineTo(location)

Adds a new point and creates a line TO that point FROM the last specified point in the canvas (this method does not draw the line).

Parameter
Type
Description

location

The x-coordinate and y-coordinate of where to create the line to.

MoveTo(x, y)

Moves the path to the specified point in the canvas, without creating a line.

Parameter
Type
Description

x

The x-coordinate of where to move the path to.

y

The y-coordinate of where to move the path to.

Use the stroke() method to actually draw the path on the canvas.

MoveTo(location)

Moves the path to the specified point in the canvas, without creating a line.

Parameter
Type
Description

location

The x-coordinate and y-coordinate of where to move the path to.

Use the stroke() method to actually draw the path on the canvas.

QuadraticCurveTo(cpx, cpy, x, y)

Adds a point to the current path by using the specified control points that represent a quadratic Bézier curve.

Parameter
Type
Description

cpx

The x-coordinate of the Bézier control point.

cpy

The y-coordinate of the Bézier control point.

x

The x-coordinate of the ending point.

y

The y-coordinate of the ending point.

A quadratic Bézier curve requires two points. The first point is a control point that is used in the quadratic Bézier calculation and the second point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point.

Rect(rect)

Creates a rectangle.

Parameter
Type
Description

rect

Rectangle's coordinates and size.

Rect(x, y, width, height)

Creates a rectangle.

Parameter
Type
Description

x

The x-coordinate of the upper-left corner of the rectangle.

y

The y-coordinate of the upper-left corner of the rectangle.

width

The width of the rectangle, in pixels.

height

The height of the rectangle, in pixels.

Restore()

Returns previously saved path state and attributes.

Rotate(degrees)

Method rotates the current drawing.

Parameter
Type
Description

degrees

The rotation angle, in degrees.

The rotation will only affect drawings made AFTER the rotation is done.

Save()

Saves the state of the current context.

Scale(scaleWidth, scaleHeight)

Scales the current drawing, bigger or smaller.

Parameter
Type
Description

scaleWidth

Scales the width of the current drawing (1=100%, 0.5=50%, 2=200%, etc.)

scaleHeight

Scales the height of the current drawing (1=100%, 0.5=50%, 2=200%, etc.)

Scale(scale)

Scales the current drawing, bigger or smaller.

Parameter
Type
Description

scale

Scales the width of the current drawing (1=100%, 0.5=50%, 2=200%, etc.)

SetLineDash(segments)

Sets the line dash pattern.

Parameter
Type
Description

segments

A list of numbers that specifies distances to alternately draw a line and a gap (in coordinate space units). If the number of elements in the array is odd, the elements of the array get copied and concatenated. For example, [5, 15, 25] will become [5, 15, 25, 5, 15, 25].

SetTransform(scaleWidth, skewHoriz, skewVert, scaleHeight, x, y)

Resets the current transform to the identity matrix, and then runs transform() with the same arguments.

Parameter
Type
Description

scaleWidth

Scales the drawing horizontally.

skewHoriz

Skew the drawing horizontally.

skewVert

Skew the drawing vertically.

scaleHeight

Scales the drawing vertically.

x

Moves the drawing horizontally

y

Moves the drawing vertically.

The transformation will only affect drawings made after the transform() method is called. The transform() method behaves relatively to other transformations made by rotate(), scale(), translate(), or transform(). Example: If you already have set your drawing to scale by two, and the transform() method scales your drawings by two, your drawings will now scale by four.

Stroke()

Draws the path you have defined.

StrokeRect(rect)

Draws a rectangle (no fill). The default color of the stroke is black.

Parameter
Type
Description

rect

Rectangle's coordinates and size.

StrokeRect(x, y, width, height)

Draws a rectangle (no fill). The default color of the stroke is black.

Parameter
Type
Description

x

The x-coordinate of the upper-left corner of the rectangle.

y

The y-coordinate of the upper-left corner of the rectangle.

width

The width of the rectangle, in pixels.

height

The height of the rectangle, in pixels.

StrokeText(text, x, y)

Draws text (with no fill) on the canvas. The default color of the text is black.

Parameter
Type
Description

text

Specifies the text that will be written on the canvas.

x

The x-coordinate where to start painting the text (relative to the canvas).

y

The y-coordinate where to start painting the text (relative to the canvas)

StrokeText(text, location)

Draws text (with no fill) on the canvas. The default color of the text is black.

Parameter
Type
Description

text

Specifies the text that will be written on the canvas.

location

The x-coordinate and y-coordinate where to start painting the text (relative to the canvas).

Transform(scaleWidth, skewHoriz, skewVert, scaleHeight, x, y)

Replaces the current transformation matrix.

Parameter
Type
Description

scaleWidth

Scales the drawing horizontally.

skewHoriz

Skew the drawing horizontally.

skewVert

Skew the drawing vertically.

scaleHeight

Scales the drawing vertically.

x

Moves the drawing horizontally

y

Moves the drawing vertically.

The transformation will only affect drawings made after the transform() method is called. The transform() method behaves relatively to other transformations made by rotate(), scale(), translate(), or transform(). Example: If you already have set your drawing to scale by two, and the transform() method scales your drawings by two, your drawings will now scale by four.

Translate(x, y)

Remaps the (0,0) position on the canvas.

Parameter
Type
Description

x

The value to add to horizontal (x) coordinates.

y

The value to add to vertical (y) coordinates.

When you call a method such as fillRect() after translate(), the value is added to the x- and y-coordinate values.

Translate(location)

Remaps the (0,0) position on the canvas.

Parameter
Type
Description

location

The value to add to horizontal (x) and vertical (y) coordinates.

When you call a method such as fillRect() after translate(), the value is added to the x- and y-coordinate values.

Events

Redraw

EventHandler Fired when the canvas requires a full redraw.

Implements

Name
Description

Bindable components implement this interface.

Controls that support drag & drop operations implement this interface.

All wisej components implement this interface.

All wisej controls derived from the Control class must implement this interface.

Represents a Wisej component that is capable of handling postback requests from the client.

Allows an object to serialize itself.

Last updated

Was this helpful?