Все в вопросе, как я могу создать пользовательскую ячейку с холстом на ней, используя CellTable в 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);
}
EDIT: здесь рабочий раствор, благодаря Томасу
sb.append(SafeHtmlUtils.fromTrustedString("<img src=\"" + canvas.toDataUrl() + "\" />"));
Обратите внимание, что шаблон должен быть использован вместо того, чтобы использовать непосредственно кусок html-кода.
Хм, кажется странным, но я попробую. Спасибо –
, который работает, спасибо большое –
Если бы я был вами, я бы измерил выступления. Возможно, для вашего пользователя может быть лучше, если вы вместо этого создадите элемент-заполнитель (с идентификатором) и запланируете отложенную команду для заполнения заполнителя Canvas. Таким образом, остальная часть рендеринга «CellTable» не будет влиять на производительность холста. –