提交 10fb6a2c 编写于 作者: 雪洛's avatar 雪洛

fix: 修复H5端measureText报错的Bug askID:84858

上级 ae7b600d
...@@ -258,6 +258,18 @@ var methods3 = ['setFillStyle', 'setTextAlign', 'setStrokeStyle', 'setGlobalAlph ...@@ -258,6 +258,18 @@ var methods3 = ['setFillStyle', 'setTextAlign', 'setStrokeStyle', 'setGlobalAlph
'setTextBaseline', 'setLineDash' 'setTextBaseline', 'setLineDash'
] ]
var tempCanvas
function getTempCanvas () {
if (!tempCanvas) {
tempCanvas = document.createElement('canvas')
}
return tempCanvas
}
function TextMetrics (width) {
this.width = width
}
export class CanvasContext { export class CanvasContext {
constructor (id, pageId) { constructor (id, pageId) {
this.id = id this.id = id
...@@ -313,8 +325,15 @@ export class CanvasContext { ...@@ -313,8 +325,15 @@ export class CanvasContext {
} }
} }
// TODO // TODO
// measureText (text) { measureText (text) {
// } if (typeof document === 'object') {
var c2d = getTempCanvas().getContext('2d')
c2d.font = this.state.font
return new TextMetrics(c2d.measureText(text).width || 0)
} else {
return new TextMetrics(0)
}
}
save () { save () {
this.actions.push({ this.actions.push({
method: 'save', method: 'save',
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册