1.0.0 • Published 5 years ago

@kamilic-pkg/canvas-textbox v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 years ago

canvas-textbox

travisCI codecov

带自动断句换行的 canvas 文本展示框,主要解决中文文本在 canvas 上不能进行换行的问题。

Usage

npm i @kamilic-pkg/canvas-textbox;
let tb = new Ctextbox();
let canvas = document.getElementById("mycanvas");
tb.put("hello world", {
    fontFamily: "Arial",
    fontSize: 22,
    lineHeight: 1.5,
    color: "rgba(0, 255, 0, 1)",
    strokeWidth: 1,
    strokeColor: "rgba(0, 0, 255, 1)"
}).put("   - append to ", {
    fontFamily: "Arial",
    fontSize: 28,
    lineHeight: 1.5,
    strokeWidth: 1,
    backgroundColor: 'red',
    strokeColor: "rgba(0, 0, 255, 1)"
}).put("tototototo next line --------------> ", {
    fontFamily: "Arial",
    fontSize: 28,
    lineHeight: 1.5,
    strokeWidth: 1,
    backgroundColor: 'red',
    strokeColor: "rgba(0, 0, 255, 1)"
}).line("a long text a long text a long text a long text a long text a long text a long text ", {
    backgroundColor: "rgba(0, 255, 0, 1)",
}).draw(canvas, {
    top: 50,
    left: 50,
    maxWidth: 500,
    autoHeight: true
});

API

Ctextbox.put(text, conf)

插入一个文字图层。

PARAMSTYPEDESCRIPTIONSrequired
textString输入文本true
confTextLayerConfigure该行文本的样式设置true
Return

Ctextbox

Ctextbox.line(text, conf)

插入一个文字段落图层,与 put 方法相比,这个会做强制换行处理。

PARAMSTYPEDESCRIPTIONSrequired
textString输入文本true
confTextLayerConfigure该行文本的样式设置true
Return

Ctextbox

Ctextbox.draw(canvasOrCtx, conf)

插入一个文字图层。

PARAMSTYPEDESCRIPTIONSrequired
canvasOrCtxHTMLCanvasElement | CanvasRenderingContext2D输入文本true
confRendererConfig该行文本的样式设置true
Return

Ctextbox

Classes

TextLayerConfigure

type

Object

properties
PARAMSTYPEDESCRIPTIONS
fontSizeNumber字体大小
fontFamilyString字体类型
lineHeightString | Number行高,支持倍数(数字类型)与像素(需传入形如 '12px' 的字符串)
colorStringcss 支持的颜色表达字符串
strokeWidthNumbercanvas 的 strokeWidth 属性,文字边框宽度
strokeColorStringcanvas 的 strokeColor 属性,文字边框的颜色
backgroundColorString文字背景颜色
forceNextLineBoolean该图层是否强制换行

RendererConfig

type

Object

properties
PARAMSTYPEDESCRIPTIONS
widthNumber绘图框宽度
topNumber绘图框所在位置
leftNumber绘图框所在位置
autoHeightNumber根据算出来的画布高度来设定 canvas 高度

Demo

你可以查看 ./test/index.html 中的小例子