2011-07-08 10 views
1

Google chart apiを使ってアンドロイドのwebviewを使ってグラフを生成しました。今私の次の要件は、そのイメージをいくつかのローカルストレージに保存して、電子メールで画像を送信し、mms.pleaseを使ってイメージを送信することです。画像をwebviewからいくつかのフォルダに保存する

おかげ nishant

答えて

3
WebView w = new WebView(this); 
//Loads the url 
w.loadUrl("http://www.yahoo.com";); 
//After loading completely, take its picture 
Picture picture = w.capturePicture(); 
//Create a new canvas 
Canvas mCanvas = new Canvas(); 
//Draw the Picture into the Canvas 
picture.draw(mCanvas); 
//Create a Bitmap 
Bitmap sreenshot = Bitmap.createBitmap(picture.getWidth(), 
picture.getHeight(),Config.ARGB_8888); 
//copy the content fron Canvas to Bitmap 
mCanvas.drawBitmap(mBitmapScreenshot, 0, 0, null); 

//Save the Bitmap to local filesystem 
if(sreenshot != null) { 
     ByteArrayOutputStream mByteArrayOpStream = new 
ByteArrayOutputStream(); 
     screenshot.compress(Bitmap.CompressFormat.JPEG, 90, 
mByteArrayOpStream); 
     try { 
       fos = openFileOutput("yahoo.jpg", 
MODE_WORLD_WRITEABLE); 
       fos.write(mByteArrayOpStream.toByteArray()); 
       fos.close(); 
     } catch (FileNotFoundException e) { 
       e.printStackTrace(); 
     } catch (IOException e) { 
       e.printStackTrace(); 
     } 
} 

と電子メールのthroの画像を送信するためにuは、このquestion
スルー行くと迅速な応答のためのMMS

+0

ありがとうことができます。上記のコードを使用しましたが、java.lang.IllegalArgumentExceptionというビットマップを作成する際に例外がスローされました。幅と高さが0より大きくなければなりません。私は250 * 100次元をGoogle Chart APIのパラメータとして指定しました。 – Nishant

+0

'CaptureImage()'に問題があるかもしれませんが、チャートから画像を取得しているかどうかを確認してください。それから試してみてください。歓声 – Hussain

+0

はいイメージを取得していますが、キャプチャできません。 – Nishant

関連する問題