TextPath
new Konva.TextPath(config)
Path constructor.
Parameters
Name | Type | Description |
---|---|---|
config | Object | |
fontFamily (optional) | String | default is Arial |
fontSize (optional) | Number | default is 12 |
fontStyle (optional) | String | Can be 'normal', 'italic', or 'bold', '500' or even 'italic bold'. 'normal' is the default. |
fontVariant (optional) | String | can be normal or small-caps. Default is normal |
textBaseline (optional) | String | Can be 'top', 'bottom', 'middle', 'alphabetic', 'hanging'. Default is middle |
text | String | |
data | String | SVG data string |
kerningFunc | function | a getter for kerning values for the specified characters |
fill (optional) | String | fill color |
fillPatternImage (optional) | Image | fill pattern image |
fillPatternX (optional) | Number | |
fillPatternY (optional) | Number | |
fillPatternOffset (optional) | Object | object with x and y component |
fillPatternOffsetX (optional) | Number | |
fillPatternOffsetY (optional) | Number | |
fillPatternScale (optional) | Object | object with x and y component |
fillPatternScaleX (optional) | Number | |
fillPatternScaleY (optional) | Number | |
fillPatternRotation (optional) | Number | |
fillPatternRepeat (optional) | String | can be "repeat", "repeat-x", "repeat-y", or "no-repeat". The default is "no-repeat" |
fillLinearGradientStartPoint (optional) | Object | object with x and y component |
fillLinearGradientStartPointX (optional) | Number | |
fillLinearGradientStartPointY (optional) | Number | |
fillLinearGradientEndPoint (optional) | Object | object with x and y component |
fillLinearGradientEndPointX (optional) | Number | |
fillLinearGradientEndPointY (optional) | Number | |
fillLinearGradientColorStops (optional) | Array | array of color stops |
fillRadialGradientStartPoint (optional) | Object | object with x and y component |
fillRadialGradientStartPointX (optional) | Number | |
fillRadialGradientStartPointY (optional) | Number | |
fillRadialGradientEndPoint (optional) | Object | object with x and y component |
fillRadialGradientEndPointX (optional) | Number | |
fillRadialGradientEndPointY (optional) | Number | |
fillRadialGradientStartRadius (optional) | Number | |
fillRadialGradientEndRadius (optional) | Number | |
fillRadialGradientColorStops (optional) | Array | array of color stops |
fillEnabled (optional) | Boolean | flag which enables or disables the fill. The default value is true |
fillPriority (optional) | String | can be color, linear-gradient, radial-graident, or pattern. The default value is color. The fillPriority property makes it really easy to toggle between different fill types. For example, if you want to toggle between a fill color style and a fill pattern style, simply set the fill property and the fillPattern properties, and then use setFillPriority('color') to render the shape with a color fill, or use setFillPriority('pattern') to render the shape with the pattern fill configuration |
stroke (optional) | String | stroke color |
strokeWidth (optional) | Number | stroke width |
fillAfterStrokeEnabled (optional) | Boolean | Should we draw fill AFTER stroke? Default is false. |
hitStrokeWidth (optional) | Number | size of the stroke on hit canvas. The default is "auto" - equals to strokeWidth |
strokeHitEnabled (optional) | Boolean | flag which enables or disables stroke hit region. The default is true |
perfectDrawEnabled (optional) | Boolean | flag which enables or disables using buffer canvas. The default is true |
shadowForStrokeEnabled (optional) | Boolean | flag which enables or disables shadow for stroke. The default is true |
strokeScaleEnabled (optional) | Boolean | flag which enables or disables stroke scale. The default is true |
strokeEnabled (optional) | Boolean | flag which enables or disables the stroke. The default value is true |
lineJoin (optional) | String | can be miter, round, or bevel. The default is miter |
lineCap (optional) | String | can be butt, round, or square. The default is butt |
shadowColor (optional) | String | |
shadowBlur (optional) | Number | |
shadowOffset (optional) | Object | object with x and y component |
shadowOffsetX (optional) | Number | |
shadowOffsetY (optional) | Number | |
shadowOpacity (optional) | Number | shadow opacity. Can be any real number between 0 and 1 |
shadowEnabled (optional) | Boolean | flag which enables or disables the shadow. The default value is true |
dash (optional) | Array | |
dashEnabled (optional) | Boolean | flag which enables or disables the dashArray. The default value is true |
x (optional) | Number | |
y (optional) | Number | |
width (optional) | Number | |
height (optional) | Number | |
visible (optional) | Boolean | |
listening (optional) | Boolean | whether or not the node is listening for events |
id (optional) | String | unique id |
name (optional) | String | non-unique name |
opacity (optional) | Number | determines node opacity. Can be any number between 0 and 1 |
scale (optional) | Object | set scale |
scaleX (optional) | Number | set scale x |
scaleY (optional) | Number | set scale y |
rotation (optional) | Number | rotation in degrees |
offset (optional) | Object | offset from center point and rotation point |
offsetX (optional) | Number | set offset x |
offsetY (optional) | Number | set offset y |
draggable (optional) | Boolean | makes the node draggable. When stages are draggable, you can drag and drop the entire stage by dragging any portion of the stage |
dragDistance (optional) | Number | |
dragBoundFunc (optional) | function |
Inherited from: Konva.Shape
Own Methods
getTextWidth()
get text width in pixels
data(data)
get/set SVG path data string. This method also automatically parses the data string into a data array. Currently supported SVG data: M, m, L, l, H, h, V, v, Q, q, T, t, C, c, S, s, A, a, Z, z
Parameters:
data
(String): svg path string
Returns: String
Example:
// get data
var data = shape.data();
// set data
shape.data('M200,100h100v50z');
fontFamily(fontFamily)
get/set font family
Parameters:
fontFamily
(String)
Returns: String
Example:
// get font family
var fontFamily = shape.fontFamily();
// set font family
shape.fontFamily('Arial');
fontSize(fontSize)
get/set font size in pixels
Parameters:
fontSize
(Number)
Returns: Number
Example:
// get font size
var fontSize = shape.fontSize();
// set font size to 22px
shape.fontSize(22);
fontStyle(fontStyle)
get/set font style. Can be 'normal', 'italic', or 'bold', '500' or even 'italic bold'. 'normal' is the default.
Parameters:
fontStyle
(String)
Returns: String
Example:
// get font style
var fontStyle = shape.fontStyle();
// set font style
shape.fontStyle('bold');
align(align)
get/set horizontal align of text. Can be 'left', 'center', 'right' or 'justify'
Parameters:
align
(String)
Returns: String
Example:
// get text align
var align = text.align();
// center text
text.align('center');
// align text to right
text.align('right');
letterSpacing(letterSpacing)
get/set letter spacing. The default is 0.
Parameters:
letterSpacing
(Number)
Returns: Number
Example:
// get letter spacing value
var letterSpacing = shape.letterSpacing();
// set the letter spacing value
shape.letterSpacing(2);
textBaseline(textBaseline)
get/set text baseline. The default is 'middle'. Can be 'top', 'bottom', 'middle', 'alphabetic', 'hanging'
Parameters:
textBaseline
(String)
Returns: String
Example:
// get current text baseline
var textBaseline = shape.textBaseline();
// set new text baseline
shape.textBaseline('top');
fontVariant(fontVariant)
get/set font variant. Can be 'normal' or 'small-caps'. 'normal' is the default.
Parameters:
fontVariant
(String)
Returns: String
Example:
// get font variant
var fontVariant = shape.fontVariant();
// set font variant
shape.fontVariant('small-caps');
getText(text)
get/set text
Parameters:
text
(String)
Returns: String
Example:
// get text
var text = text.text();
// set text
text.text('Hello world!');
textDecoration(textDecoration)
get/set text decoration of a text. Can be '' or 'underline'.
Parameters:
textDecoration
(String)
Returns: String
Example:
// get text decoration
var textDecoration = shape.textDecoration();
// underline text
shape.textDecoration('underline');
kerningFunc(kerningFunc)
get/set kerning function.
Parameters:
kerningFunc
(String)
Returns: String
Example:
// get text decoration
var kerningFunc = text.kerningFunc();
// center text
text.kerningFunc(function(leftChar, rightChar) {
return 1;
});
Inherited Methods
hasShadow()
returns whether or not a shadow will be rendered
Returns: Boolean
Inherited from: Konva.Shape#hasShadow
hasFill()
returns whether or not the shape will be filled
Returns: Boolean
Inherited from: Konva.Shape#hasFill
hasStroke()
returns whether or not the shape will be stroked
Returns: Boolean
Inherited from: Konva.Shape#hasStroke
intersects(point)
determines if point is in the shape, regardless if other shapes are on top of it. Note: because this method clears a temporary canvas and then redraws the shape, it performs very poorly if executed many times consecutively. Please use the Konva.Stage#getIntersection method if at all possible because it performs much better
Parameters:
point
(Object)point.x
(Number)point.y
(Number)
Returns: Boolean
Inherited from: Konva.Shape#intersects
getSelfRect()
return self rectangle (x, y, width, height) of shape. This method are not taken into account transformation and styles.
Returns: Object
rect with {x, y, width, height} properties
Inherited from: Konva.Shape#getSelfRect
Example:
rect.getSelfRect(); // return {x:0, y:0, width:rect.width(), height:rect.height()}
circle.getSelfRect(); // return {x: - circle.width() / 2, y: - circle.height() / 2, width:circle.width(), height:circle.height()}
drawHitFromCache(alphaThreshold)
draw hit graph using the cached scene canvas
Parameters:
alphaThreshold
(Integer): alpha channel threshold that determines whether or not a pixel should be drawn onto the hit graph. Must be a value between 0 and 255. The default is 0
Returns: Konva.Shape
Inherited from: Konva.Shape#drawHitFromCache
Example:
shape.cache();
shape.drawHitFromCache();
stroke(color)
get/set stroke color
Parameters:
color
(String)
Returns: String
Inherited from: Konva.Shape#stroke
Example:
// get stroke color
var stroke = shape.stroke();
// set stroke color with color string
shape.stroke('green');
// set stroke color with hex
shape.stroke('#00ff00');
// set stroke color with rgb
shape.stroke('rgb(0,255,0)');
// set stroke color with rgba and make it 50% opaque
shape.stroke('rgba(0,255,0,0.5');
strokeWidth(strokeWidth)
get/set stroke width
Parameters:
strokeWidth
(Number)
Returns: Number
Inherited from: Konva.Shape#strokeWidth
Example:
// get stroke width
var strokeWidth = shape.strokeWidth();
// set stroke width
shape.strokeWidth(10);
fillAfterStrokeEnabled(fillAfterStrokeEnabled)
get/set fillAfterStrokeEnabled property. By default Konva is drawing filling first, then stroke on top of the fill. In rare situations you may want a different behavior. When you have a stroke first then fill on top of it. Especially useful for Text objects. Default is false.
Parameters:
fillAfterStrokeEnabled
(Boolean)
Returns: Boolean
Inherited from: Konva.Shape#fillAfterStrokeEnabled
Example:
// get stroke width
var fillAfterStrokeEnabled = shape.fillAfterStrokeEnabled();
// set stroke width
shape.fillAfterStrokeEnabled(true);
hitStrokeWidth(hitStrokeWidth)
get/set stroke width for hit detection. Default value is "auto", it means it will be equals to strokeWidth
Parameters:
hitStrokeWidth
(Number)
Returns: Number
Inherited from: Konva.Shape#hitStrokeWidth
Example:
// get stroke width
var hitStrokeWidth = shape.hitStrokeWidth();
// set hit stroke width
shape.hitStrokeWidth(20);
// set hit stroke width always equals to scene stroke width
shape.hitStrokeWidth('auto');
strokeHitEnabled(strokeHitEnabled)
deprecated, use hitStrokeWidth instead! get/set strokeHitEnabled property. Useful for performance optimization. You may set shape.strokeHitEnabled(false)
. In this case stroke will be no draw on hit canvas, so hit area of shape will be decreased (by lineWidth / 2). Remember that non closed line with strokeHitEnabled = false
will be not drawn on hit canvas, that is mean line will no trigger pointer events (like mouseover) Default value is true.
Parameters:
strokeHitEnabled
(Boolean)
Returns: Boolean
Inherited from: Konva.Shape#strokeHitEnabled
Example:
// get strokeHitEnabled
var strokeHitEnabled = shape.strokeHitEnabled();
// set strokeHitEnabled
shape.strokeHitEnabled();
perfectDrawEnabled(perfectDrawEnabled)
get/set perfectDrawEnabled. If a shape has fill, stroke and opacity you may set perfectDrawEnabled
to false to improve performance. See http://konvajs.org/docs/performance/Disable_Perfect_Draw.html for more information. Default value is true
Parameters:
perfectDrawEnabled
(Boolean)
Returns: Boolean
Inherited from: Konva.Shape#perfectDrawEnabled
Example:
// get perfectDrawEnabled
var perfectDrawEnabled = shape.perfectDrawEnabled();
// set perfectDrawEnabled
shape.perfectDrawEnabled();
shadowForStrokeEnabled(shadowForStrokeEnabled)
get/set shadowForStrokeEnabled. Useful for performance optimization. You may set shape.shadowForStrokeEnabled(false)
. In this case stroke will no effect shadow. Remember if you set shadowForStrokeEnabled = false
for non closed line - that line will have no shadow!. Default value is true
Parameters:
shadowForStrokeEnabled
(Boolean)
Returns: Boolean
Inherited from: Konva.Shape#shadowForStrokeEnabled
Example:
// get shadowForStrokeEnabled
var shadowForStrokeEnabled = shape.shadowForStrokeEnabled();
// set shadowForStrokeEnabled
shape.shadowForStrokeEnabled();
lineJoin(lineJoin)
get/set line join. Can be miter, round, or bevel. The default is miter
Parameters:
lineJoin
(String)
Returns: String
Inherited from: Konva.Shape#lineJoin
Example:
// get line join
var lineJoin = shape.lineJoin();
// set line join
shape.lineJoin('round');
lineCap(lineCap)
get/set line cap. Can be butt, round, or square
Parameters:
lineCap
(String)
Returns: String
Inherited from: Konva.Shape#lineCap
Example:
// get line cap
var lineCap = shape.lineCap();
// set line cap
shape.lineCap('round');
sceneFunc(drawFunc)
get/set scene draw function. That function is used to draw the shape on a canvas. Also that function will be used to draw hit area of the shape, in case if hitFunc is not defined.
Parameters:
drawFunc
(function): drawing function
Returns: function
Inherited from: Konva.Shape#sceneFunc
Example:
// get scene draw function
var sceneFunc = shape.sceneFunc();
// set scene draw function
shape.sceneFunc(function(context, shape) {
context.beginPath();
context.rect(0, 0, shape.width(), shape.height());
context.closePath();
// important Konva method that fill and stroke shape from its properties
// like stroke and fill
context.fillStrokeShape(shape);
});
hitFunc(drawFunc)
get/set hit draw function. That function is used to draw custom hit area of a shape.
Parameters:
drawFunc
(function): drawing function
Returns: function
Inherited from: Konva.Shape#hitFunc
Example:
// get hit draw function
var hitFunc = shape.hitFunc();
// set hit draw function
shape.hitFunc(function(context) {
context.beginPath();
context.rect(0, 0, shape.width(), shape.height());
context.closePath();
// important Konva method that fill and stroke shape from its properties
context.fillStrokeShape(shape);
});
dash(dash)
get/set dash array for stroke.
Parameters:
dash
(Array)
Returns: Array
Inherited from: Konva.Shape#dash
Example:
// apply dashed stroke that is 10px long and 5 pixels apart
line.dash([10, 5]);
// apply dashed stroke that is made up of alternating dashed
// lines that are 10px long and 20px apart, and dots that have
// a radius of 5px and are 20px apart
line.dash([10, 20, 0.001, 20]);
shadowColor(color)
get/set shadow color
Parameters:
color
(String)
Returns: String
Inherited from: Konva.Shape#shadowColor
Example:
// get shadow color
var shadow = shape.shadowColor();
// set shadow color with color string
shape.shadowColor('green');
// set shadow color with hex
shape.shadowColor('#00ff00');
// set shadow color with rgb
shape.shadowColor('rgb(0,255,0)');
// set shadow color with rgba and make it 50% opaque
shape.shadowColor('rgba(0,255,0,0.5');
shadowBlur(blur)
get/set shadow blur
Parameters:
blur
(Number)
Returns: Number
Inherited from: Konva.Shape#shadowBlur
Example:
// get shadow blur
var shadowBlur = shape.shadowBlur();
// set shadow blur
shape.shadowBlur(10);
shadowOpacity(opacity)
get/set shadow opacity. must be a value between 0 and 1
Parameters:
opacity
(Number)
Returns: Number
Inherited from: Konva.Shape#shadowOpacity
Example:
// get shadow opacity
var shadowOpacity = shape.shadowOpacity();
// set shadow opacity
shape.shadowOpacity(0.5);
shadowOffset(offset)
get/set shadow offset
Parameters:
offset
(Object)offset.x
(Number)offset.y
(Number)
Returns: Object
Inherited from: Konva.Shape#shadowOffset
Example:
// get shadow offset
var shadowOffset = shape.shadowOffset();
// set shadow offset
shape.shadowOffset({
x: 20,
y: 10
});
shadowOffsetX(x)
get/set shadow offset x
Parameters:
x
(Number)
Returns: Number
Inherited from: Konva.Shape#shadowOffsetX
Example:
// get shadow offset x
var shadowOffsetX = shape.shadowOffsetX();
// set shadow offset x
shape.shadowOffsetX(5);
shadowOffsetY(y)
get/set shadow offset y
Parameters:
y
(Number)
Returns: Number
Inherited from: Konva.Shape#shadowOffsetY
Example:
// get shadow offset y
var shadowOffsetY = shape.shadowOffsetY();
// set shadow offset y
shape.shadowOffsetY(5);