Skip to content

导出

会等待视图内所有网络资源都加载完再进行导出图片。

关键方法

export ( )

export( name: IExportFileType | string, options?: IExportOptions | number | boolean): Promise<IExportResult>

导出范围暂时只支持整个应用画布,后续会支持单个元素。

name 为文件名时表示保存文件。options 为数字时表示图片质量, 为布尔时表示二进制数据 。

ts
type IExportFileType = 'jpg' | 'png' | 'webp' // 后续会支持 json、svg、pdf

interface IExportOptions {
  quality?: number // 设置 jpg / webp 的图片质量
  blob?: boolean // 导出二进制数据
}

interface IExportResult {
  data: IBlob | string | boolean // data为无时表示导出失败
}

归属

UI

示例

导出 Base64 编码数据

默认图片质量为 0.92。

ts
import { Leafer, Rect } from 'leafer-ui'

const leafer = new Leafer({ view: window })

leafer.add(Rect.one({ fill: '#32cd79' }, 100, 100))

leafer.export('jpg').then(result => { 
    console.log(result.data)
})

// const result = await leafer.export('jpg')

手动设置图片质量。

ts
import { Leafer, Rect } from 'leafer-ui'

const leafer = new Leafer({ view: window })

leafer.add(Rect.one({ fill: '#32cd79' }, 100, 100))

leafer.export('jpg', 0.5).then(result => { 
    console.log(result.data)
})

// const result = await leafer.export('jpg', {quality: 0.5})

导出二进制数据

ts
import { Leafer, Rect } from 'leafer-ui'

const leafer = new Leafer({ view: window })

leafer.add(Rect.one({ fill: '#32cd79' }, 100, 100))

leafer.export('png', true).then(result => { 
    console.log(result.data)
})

// const result = await leafer.export('png', { blob: true })

导出文件

浏览器版会直接下载文件,Node.js 版会保存到指定路径。

ts
import { Leafer, Rect } from 'leafer-ui'

const leafer = new Leafer({ view: window })

leafer.add(Rect.one({ fill: '#32cd79' }, 100, 100))

leafer.export('test.png') 

// const result = await leafer.export('./home/test.png')

Released under the MIT License.