如何将画布用作具有 GWT 的单元格表小部件的单元格



一切都在问题中,如何使用 GWT 中的单元格表创建一个带有画布的自定义单元格?

我寻找一种将画布转换为 html 的方法,以将其附加到渲染方法的 SafeHtmlBuilder 参数,但没有成功。以下是自定义单元格的有趣片段:

public void render(Context context, String value, SafeHtmlBuilder sb) {
    Canvas c = Canvas.createIfSupported();
    // create a text into the canvas using the value parameter
    // something like (this is not important) : 
    c.getContext2d().drawTheText(value);
    // here is the problem, what kind of transformation may I do 
    // to use the canvas in this cell ?
    SafeHtml safeValue = SafeHtmlUtils.fromString(c.?????);
    sb.append(safeValue);
}

编辑:这是工作解决方案,感谢托马斯

sb.append(SafeHtmlUtils.fromTrustedString("<img src="" + canvas.toDataUrl() + "" />"));

请注意,应该使用模板,而不是直接使用一段 HTML 代码作为模板。

我认为你必须使用toDataURL()并构建一个<img>元素来显示它。

请注意,您可以在调用render之间重用相同的Canvas实例;只要确保在重用之前清除它即可。

相关内容

  • 没有找到相关文章