首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用react和canvg库在画布中添加文本?

如何使用react和canvg库在画布中添加文本?
EN

Stack Overflow用户
提问于 2019-05-04 17:35:14
回答 1查看 1.8K关注 0票数 0

我正在尝试使用react和canvg lib在画布(右下角)中添加文本

这就是我所尝试的:

代码语言:javascript
复制
DownloadImage = (i) => {
        var _this = this;
        this.modeler.saveSVG(function (err, svg) {
            if (err) console.log(err)
            _this.setState({ datasvg: svg }, function () {
                const canvas = _this.refs.canvasforimage;
                console.log(canvas)

                const options = {
                    log: false,
                    ignoreMouse: true
                };

                canvg(canvas, this.state.datasvg, options);
                    const image = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream");
                    const element = document.createElement("a");
                    element.setAttribute('download', 'diagram.png');
                    element.setAttribute('href', image);
                    element.click();
            })
        })
    }


    render = () => {
        return (
                <canvas  ref="canvasforimage" id="canvasforimage">
                 {/* <div style="position:absolute;right:0;bottom:0">Text</div> */} Not working
                </canvas>
        )

上面的函数正在工作...我可以下载为图像,但代码在渲染我注释的图像时不起作用

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-04 19:01:57

感谢@Chris G的评论,所以我已经通过在canvg之后添加代码解决了这个问题

代码语言:javascript
复制
canvg(canvas, this.state.datasvg, options);
const ctx = canvas.getContext('2d');
ctx.fillText('Hello world',50, 50);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55981234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档