文本
new Konva.Text(config)
文本构造函数
参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | Object | |
| direction(可选) | String | 默认为 inherit |
| fontFamily(可选) | String | 默认为 Arial |
| fontSize(可选) | Number | 单位为像素。默认为 12 |
| fontStyle(可选) | String | 可以是 'normal'、'italic' 或 'bold'、'500',甚至是 'italic bold'。默认值为 'normal' |
| fontVariant(可选) | String | 可以是 normal 或 small-caps。默认值为 normal |
| textDecoration(可选) | String | 可以是 line-through、underline 或空字符串。默认值为空字符串 |
| underlineOffset(可选) | String | 下划线的偏移量。默认根据字体大小计算 |
| text | String | |
| align(可选) | String | 可以是 left、center、right 或 justify |
| verticalAlign(可选) | String | 可以是 top、middle 或 bottom |
| padding(可选) | Number | |
| lineHeight(可选) | Number | 默认为 1 |
| wrap(可选) | String | 可以是 "word"、"char" 或 "none"。默认为 word |
| ellipsis(可选) | Boolean | 可以是 true 或 false。默认为 false。如果 Konva.Text 配置为 wrap="none" 且 ellipsis=true,则会在末尾添加 "..." |
| fill(可选) | String | 填充颜色 |
| fillPatternImage(可选) | Image | 填充图案图像 |
| fillPatternX(可选) | Number | |
| fillPatternY(可选) | Number | |
| fillPatternOffset(可选) | Object | 包含 x 和 y 分量的对象 |
| fillPatternOffsetX(可选) | Number | |
| fillPatternOffsetY(可选) | Number | |
| fillPatternScale(可选) | Object | 包含 x 和 y 分量的对象 |
| fillPatternScaleX(可选) | Number | |
| fillPatternScaleY(可选) | Number | |
| fillPatternRotation(可选) | Number | |
| fillPatternRepeat(可选) | String | 可以是 "repeat"、"repeat-x"、"repeat-y" 或 "no-repeat"。默认值为 "no-repeat" |
| fillLinearGradientStartPoint(可选) | Object | 包含 x 和 y 分量的对象 |
| fillLinearGradientStartPointX(可选) | Number | |
| fillLinearGradientStartPointY(可选) | Number | |
| fillLinearGradientEndPoint(可选) | Object | 包含 x 和 y 分量的对象 |
| fillLinearGradientEndPointX(可选) | Number | |
| fillLinearGradientEndPointY(可选) | Number | |
| fillLinearGradientColorStops(可选) | Array | 颜色停止点数组 |
| fillRadialGradientStartPoint(可选) | Object | 包含 x 和 y 分量的对象 |
| fillRadialGradientStartPointX(可选) | Number | |
| fillRadialGradientStartPointY(可选) | Number | |
| fillRadialGradientEndPoint(可选) | Object | 包含 x 和 y 分量的对象 |
| fillRadialGradientEndPointX(可选) | Number | |
| fillRadialGradientEndPointY(可选) | Number | |
| fillRadialGradientStartRadius(可选) | Number | |
| fillRadialGradientEndRadius(可选) | Number | |
| fillRadialGradientColorStops(可选) | Array | 颜色停止点数组 |
| fillEnabled(可选) | Boolean | 启用或禁用填充的标志。默认值为 true |
| fillPriority(可选) | String | 可以是 color、linear-gradient、radial-graident 或 pattern。默认值为 color。fillPriority 属性可以非常方便地在不同填充类型之间切换。例如,如果你想在填充颜色样式和填充图案样式之间切换,只需设置 fill 属性和 fillPattern 属性,然 后使用 setFillPriority('color') 以颜色填充渲染图形,或使用 setFillPriority('pattern') 以填充图案配置渲染图形 |
| stroke(可选) | String | 描边颜色 |
| strokeWidth(可选) | Number | 描边宽度 |
| fillAfterStrokeEnabled(可选) | Boolean | 是否在描边之后绘制填充?默认值为 false |
| hitStrokeWidth(可选) | Number | 命中画布上的描边大小。默认值为 "auto",等于 strokeWidth |
| strokeHitEnabled(可选) | Boolean | 启用或禁用描边命中区域的标志。默认值为 true |
| perfectDrawEnabled(可选) | Boolean | 启用或禁用使用缓冲画布的标志。默认值为 true |
| shadowForStrokeEnabled(可选) | Boolean | 启用或禁用描边阴影的标志。默认值为 true |
| strokeScaleEnabled(可选) | Boolean | 启用或禁用描边缩放的标志。默认值为 true |
| strokeEnabled(可选) | Boolean | 启用或禁用描边的标志。默认值为 true |
| lineJoin(可选) | String | 可以是 miter、round 或 bevel。默认值为 miter |
| lineCap(可选) | String | 可以是 butt、round 或 square。默认值为 butt |
| shadowColor(可选) | String | |
| shadowBlur(可选) | Number | |
| shadowOffset(可选) | Object | 包含 x 和 y 分量的对象 |
| shadowOffsetX(可选) | Number | |
| shadowOffsetY(可选) | Number | |
| shadowOpacity(可选) | Number | 阴影不透明度。可以是 0 到 1 之间的任意实数 |
| shadowEnabled(可选) | Boolean | 启用或禁用阴影的标志。默认值为 true |
| dash(可选) | Array | |
| dashEnabled(可选) | Boolean | 启用或禁用 dashArray 的标志。默认值为 true |
| x(可选) | Number | |
| y(可选) | Number | |
| width(可选) | Number | |
| height(可选) | Number | |
| visible(可选) | Boolean | |
| listening(可选) | Boolean | 节点是否监听事件 |
| id(可选) | String | 唯一 ID |
| name(可选) | String | 非唯一名称 |
| opacity(可选) | Number | 确定节点的不透明度。可以是 0 到 1 之间的任意数值 |
| scale(可选) | Object | 设置缩放 |
| scaleX(可选) | Number | 设置 x 轴缩放 |
| scaleY(可选) | Number | 设置 y 轴缩放 |
| rotation(可选) | Number | 以度为单位的旋转角度 |
| offset(可选) | Object | 相对于中心点和旋转点的偏移量 |
| offsetX(可选) | Number | 设置 x 轴偏移量 |
| offsetY(可选) | Number | 设置 y 轴偏移量 |
| draggable(可选) | Boolean | 使节点可拖动。当舞台可拖动时,可以通过拖动舞台的 任意部分来拖放整个舞台 |
| dragDistance(可选) | Number | |
| dragBoundFunc(可选) | function |
继承自: Konva.Shape
自有方法
getTextWidth()
获取不包含内边距的纯文本宽度
返回值: Number
measureSize(text)
使用当前文本图形的字体测量字符串。此方法无法处理多行文本
参数:
text(String):要测量的文本
返回值: Object { width , height } of measured text
_shouldHandleEllipsis(currentHeightPx)
是否处理省略号,有两种情况:1. 当前行是最后一行 2. wrap 为 NONE
参数:
currentHeightPx(Number)
返回值: Boolean
width(width)
获取/设置文本区域的宽度,其中包括内边距
参数:
width(Number)
返回值: Number
示例:
// get width
var width = text.width();
// set width
text.width(20);
// set to auto
text.width('auto');
text.width() // will return calculated width, and not "auto"
height(height)
获取/设置文本区域 的高度,该高度会考虑多行文本、行高和内边距
参数:
height(Number)
返回值: Number
示例:
// get height
var height = text.height();
// set height
text.height(20);
// set to auto
text.height('auto');
text.height() // will return calculated height, and not "auto"
direction(direction)
获取/设置方向
参数:
direction(String)
返回值: String
示例:
// get direction
var direction = text.direction();
// set direction
text.direction('rtl');
fontFamily(fontFamily)
获取/设置字体系列
参数:
fontFamily(String)
返回值: String
示例:
// get font family
var fontFamily = text.fontFamily();
// set font family
text.fontFamily('Arial');
fontSize(fontSize)
获取/设置以像素为单位的字体大小
参数:
fontSize(Number)
返回值: Number
示例:
// get font size
var fontSize = text.fontSize();
// set font size to 22px
text.fontSize(22);
fontStyle(fontStyle)
获取/设置字体样式。可以是 'normal'、'italic' 或 'bold'、'500',甚至是 'italic bold'。默认值为 'normal'
参数:
fontStyle(String)
返回值: String
示例:
// get font style
var fontStyle = text.fontStyle();
// set font style
text.fontStyle('bold');
fontVariant(fontVariant)
获取/设置字体变体。可以是 'normal' 或 'small-caps'。默认值为 'normal'
参数:
fontVariant(String)
返回值: String
示例:
// get font variant
var fontVariant = text.fontVariant();
// set font variant
text.fontVariant('small-caps');
padding(padding)
获取/设置内边距
参数:
padding(Number)
返回值: Number
示例:
// get padding
var padding = text.padding();
// set padding to 10 pixels
text.padding(10);
align(align)
获取/设置文本的水平对齐方式。可以是 'left'、'center'、'right' 或 'justify'
参数:
align(String)
返回值: String
示例:
// get text align
var align = text.align();
// center text
text.align('center');
// align text to right
text.align('right');
// justify text
verticalAlign(verticalAlign)
获取/设置文本的垂直对齐方式。可以是 'top'、'middle'、'bottom'
参数:
verticalAlign(String)
返回值: String
示例:
// get text vertical align
var verticalAlign = text.verticalAlign();
// center text
text.verticalAlign('middle');
lineHeight(lineHeight)
获取/设置行高。默认值为 1
参数:
lineHeight(Number)
返回值: Number
示例:
// get line height
var lineHeight = text.lineHeight();
// set the line height
text.lineHeight(2);
wrap(wrap)
获取/设置换行方式。可以是 "word"、"char" 或 "none"。默认值为 "word"。在 "word" 换行模式下,如果某个单词无法在不换行的情况下放入所需宽度内,该单词仍然可以被换行
参数:
wrap(String)
返回值: String