2011-11-14 3 views
0

以下はGWTのキャンバスから画像を取得するためのコードです。gwt canvasで生成されたイメージをコンピュータのハードディスクに保存する方法は?

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); 

今、画像があり、この画像をコンピュータのある場所に保存したいと考えています。どうやってやるの?

+0

あなたはそのイメージのファイルダウンロードダイアログボックスを表示したいと思っていますか? – Rohan

答えて

0

データをサーバーに送信し、そのサーバーからデータをダウンロードさせるか、ハードドライブに直接アクセスできるFlashまたはJavaオブジェクトを埋め込ませる必要があります。 JavaScript(GWTを含む)では、ほとんどのブラウザでハードドライブにファイルを書き込むことはできません。

イメージにアプリケーションからアクセスできるようにする必要がある場合は、ファイル以外の形式のローカルストレージを使用できますが、他のアプリケーションからアクセスすることはできません。

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", ""); 
    } 
}); 
関連する問題