如何将gwt canvas生成的图像保存到计算机硬盘上?

时间:2011-11-14 14:03:38

标签: 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);

现在我有图像,我想将此图像保存在计算机的某个位置。我怎么能这样做?

2 个答案:

答案 0 :(得分: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", "");
    }
});

答案 1 :(得分:0)

我认为你必须要么将数据发送到服务器并让用户从该服务器下载数据,要么嵌入一些可以直接访问硬盘的Flash或Java对象。在大多数浏览器中,不允许JavaScript(包括GWT)将文件写入硬盘驱动器。

如果您只需要应用程序可以访问该图像,您可以使用除文件之外的某种形式的本地存储,但您的用户将无法从其他应用程序访问该文件。