4

折れ線グラフをプロットするコードを書きました。このグラフは Android Plot を使用してプロットされています。このグラフを .png 画像として保存するにはどうすればよいですか??

4

4 に答える 4

5
        xyPlot.setDrawingCacheEnabled(true);
        int width = xyPlot.getWidth();
        int height = xyPlot.getHeight();
        xyPlot.measure(width, height);
        Bitmap bmp = Bitmap.createBitmap(xyPlot.getDrawingCache());
        xyPlot.setDrawingCacheEnabled(false);
        FileOutputStream fos = new FileOutputStream(fullFileName, true);
        bmp.compress(CompressFormat.JPEG, 100, fos);
于 2011-10-17T11:34:49.150 に答える
4

以下を使用して、任意のビューの描画キャッシュをビットマップとして取得できます。

Bitmap bitmap = view.getDrawingCache();

次に、ビットマップを次のようにファイルに保存するだけです。

FileOutputStream fos = c.openFileOutput(filename, Context.MODE_PRIVATE);
bitmap.compress(Bitmap.CompressFormat.PNG, 90, fos);
fos.close();

この例では、アプリのみがアクセスできるローカル ストレージにビットマップを保存します。ファイルの保存の詳細については、次のドキュメントをご覧ください: http://developer.android.com/guide/topics/data/data-storage.html

于 2011-09-23T17:24:58.013 に答える
1

メソッドを呼び出す前にBitmap bitmap = view.getDrawingCache();、メソッドを呼び出す必要がありますview.setDrawingCacheEnabled(true)

とにかく、すべてのビューで機能するわけではありません。ビューが SurfaceView を拡張する場合、返されるビットマップは黒いイメージになります。その場合、ビューのメソッド draw (link to another post)を使用する必要があります。

PS: slayton コメントを書くことができれば、あなたの投稿にコメントしますが、十分な評判がありません

于 2011-09-23T17:51:35.573 に答える