!!!###!!!title=Rect——VisActor/VGraph tutorial documents!!!###!!!!!!###!!!description=A Rectangle (Rect) is a graphic object used to create a rectangular graphic instance, containing information such as the rectangle's position, size, and corner radius, for the rendering engine to draw and interact with.!!!###!!!

Rectangle (Rect)

A Rectangle (Rect) is a graphic object used to create a rectangular graphic instance, containing information such as the rectangle's position, size, and corner radius, for the rendering engine to draw and interact with.

Example

import { Rect } from '@visactor/vgraph';

const rect = new Rect({
    left: 80,
    top: 20,
    width: 50,
    height: 80,
    strokeStyle: 'blue',
    fillStyle: '#ccc',
    radius: [0, 10],
});

Rect Configuration

FieldTypeDescription
leftnumberThe left coordinate of the rectangle.
topnumberThe top coordinate of the rectangle.
widthnumberThe width of the rectangle.
heightnumberThe height of the rectangle.
radiusnumber | number[]The corner radius of the rectangle.

Note: For the rectangle's corner radius, if it is specified as a number r, then the corner radius of all four corners of the rectangle is r. If it is specified as an array of length 4, [r0, r1, r2, r3], then it specifies the corner radii of the top-left, top-right, bottom-right, and bottom-left corners of the rectangle, respectively. If it is specified as an array of length 2, [r0, r1], then it specifies the corner radii of the top-left, top-right, bottom-right, and bottom-left corners of the rectangle as r0, r1, r1, and r0, respectively.

Common Configurations

The following are common configurations for all graphic objects:

FieldTypeDescription
opacitynumberOpacity
fillStylestringFill color
strokeStylestringStroke color
lineWidthnumberStroke width
lineDashnumber | number[]Dash pattern, refer to CanvasRenderingContext2D.setLineDash()
lineDashOffsetnumber | number[]Dash line starting offset, refer to CanvasRenderingContext2D.lineDashOffset
shadowBlurnumberShadow blur amount, refer to CanvasRenderingContext2D.shadowBlur
shadowColorstringShadow color
shadowOffsetXnumberHorizontal shadow offset, refer to CanvasRenderingContext2D.shadowOffsetX
shadowOffsetYnumberVertical shadow offset, refer to CanvasRenderingContext2D.shadowOffsetY
clipShapeBaseClipping shape. Sets the specified shape as the clipping path. The part within the clipping shape's path will be retained, and the rest will be culled. Refer to CanvasRenderingContext2D.clip()
cursorstringThe type of cursor when this shape gains focus. For details, refer to CSS Cursor

Note: Color strings currently support the following formats:

TypeExampleDescription
rgbrgb(255, 255, 255)White represented in RGB mode
rgbargba(255, 255, 255, 1.0)White represented in RGBA mode
hslhsl(13, 100%, 10%)Color represented in HSL mode, equivalent to rgb(56, 12, 0)
hslahsla(13, 100%, 10%, 0.4)Color represented in HSL mode, equivalent to rgba(56, 12, 0, 0.4)
hex#fffPure color represented by a three-digit hexadecimal number, case-insensitive
hex#FF00FFPure color represented by a six-digit hexadecimal number, case-insensitive
hex#3037ffffColor with transparency represented by an eight-digit hexadecimal number, case-insensitive
namecyanColor represented by its name
linear gradientl(0) 0:#fff 0.5:#7ec2f3 1:#1890ffLinear gradient, the expression is l(deg) step1:color1 step2:color2 ..., which means a linear gradient with a linear tilt angle of deg, and the colors are interpolated at step1, step2... with color1, color2...
radial gradientr(0.5,0.5,0) 0:#fff 0.5:#7ec2f3 1:#1890ffRadial gradient, the expression is r(cx, cy, r0) r1:color1 r2:color2 ..., which means a radial gradient centered at the relative coordinate (cx, cy) within the bounding box, with a starting radius r0, and the colors are interpolated at radii r1, r2... with color1, color2...
picturep(a)./pattern.pngImage, the expression is p(repeat)url. When repeat is a, it means the background repeat mode is repeat; when it is x, it means repeat-x; when it is y, it means repeat-y; when it is n, it means no-repeat. The parameter url represents the image path. Refer to CSS background-repeat

Accessible Properties

PropertyTypeDescription
type'rect'Shape type
capturebooleanWhether it is captured by focus
animatingbooleanWhether it is an animation
destroyedbooleanWhether it has been destroyed
parentanyParent shape node

Instance Methods

Instance MethodReturn ValueDescription
getBBox()BBoxGets the bounding box position and size
translate(x: number, y: number)voidTranslates
scale(xRatio: number, yRatio?: number)voidScales
rotate(deg: number, radian: boolean)voidRotates around the center. radian is used to specify whether the parameter deg is in radians. If it is true, it is in radians; otherwise, it is in degrees. The default is false.
rawRotate(deg: number, radian: boolean)voidRotates based on the matrix origin, with the same definition as rotate
clone()IShapeGets a copy of a shape
show()voidShows the shape
hide()voidHides the shape
get(k: string)anyGets the property named k of this shape
set(k: string, v: any)IShapeSets the value of the property named k of this shape to v
set(data: Record<string, any>)IShapePasses an object to set properties in bulk
on(eventName: string, callback: () => void)voidSets a trigger for when an event occurs
off(eventName: string, callback: () => void)voidSets a trigger for when an event stops
emit(eventName: string, data: Record<string, any>)voidTriggers the specified event