#gwt #canvas
#gwt #холст
Вопрос:
Ниже приведен код для получения изображения из canvas в GWT.
testCanvas.setWidth(144 "px");
testCanvas.setHeight(144 "px");
testCanvas.setCoordinateSpaceWidth(144);
testCanvas.setCoordinateSpaceHeight(144);
context = testCanvas.getContext2d();
context.fillRect(1,1,114,114);
imagelocation=testCanvas.toDataUrl();
Image image=new Image(imagelocation);
Теперь у меня есть изображение, и я хочу сохранить это изображение в каком-нибудь месте на моем компьютере. Как я могу это сделать?
Комментарии:
1. Вы имеете в виду, что хотите запустить диалоговое окно загрузки файла для этого изображения?
Ответ №1:
Вы можете использовать canvas.Используйте toDataURL(«image /png») для сохранения изображения.
// Add screen capture button
Button bt = new Button();
bt.setText("Capture");
RootPanel.get().add(bt);
bt.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
Window.open(canvas.toDataUrl("image/png"), "_blank", "");
}
});
Ответ №2:
Я думаю, вам придется либо отправить данные на сервер, и пользователь загрузит данные с этого сервера, либо внедрить какой-нибудь объект Flash или Java, который может напрямую обращаться к жесткому диску. JavaScript (включая GWT) не разрешен для записи файлов на жесткий диск в большинстве браузеров.
Если вам просто нужно, чтобы изображение было доступно для вашего приложения, вы могли бы использовать какую-либо форму локального хранилища, отличную от файлов, хотя ваш пользователь не сможет получить к нему доступ из других приложений.