一切都在问题中,如何通过在 GWT 中使用 CellTable 创建一个带有画布的自定义单元格?
我搜索了一种将画布转换为 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);
}
编辑:这是可行的解决方案,感谢 Thomas
sb.append(SafeHtmlUtils.fromTrustedString("<img src=\"" + canvas.toDataUrl() + "\" />"));
请注意,应使用模板而不是直接使用一段 html 代码。