0

AChartEngine lib で作成した折れ線グラフをビットマップに変換したいのですが、どうすればよいですか?toBitmap() メソッドは適していますか?はいの場合、どのように使用しますか?

更新:私はこの方法を使用しました:

 public static Bitmap loadBitmapFromView(View v) {  
v.setDrawingCacheEnabled(true);
v.layout( 0,0,800,600);
v.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH);
v.buildDrawingCache();
v.getDrawingCache();
 Bitmap bmp = Bitmap.createBitmap(800,600, Bitmap.Config.ARGB_8888);
v.setDrawingCacheEnabled(false);
return bmp; }

結果をpngファイルに保存しましたが、得られたのは空のファイルだけです!

4

3 に答える 3

0

グラフには SVG の方が効率的です。AChartEngine をハックして、使用している特定の種類のグラフ用に SVG を出力しました。ハックは他のチャートに簡単に拡張できます。これが誰かに興味がある場合は、この回答に返信してください。私が行ったことを Gist に入れます。

于 2020-05-23T02:27:04.330 に答える
0

toBitmap() は常に null を返すようです。

これを試して:

            //Get the graphical view 
            GraphicalView v = ChartFactory.getLineChartView(context, 
                            buildDataset(titles, x, values), renderer); 

           //Enable the cache 
            v.setDrawingCacheEnabled(true); 

            //Set the layout manually to 800*600 
            v.layout(0, 0, 800, 600); 

            //Set the quality to high 
            v.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH); 

            //Build the cache, get the bitmap and close the cache 
            v.buildDrawingCache(true); 
            Bitmap b = Bitmap.createBitmap(v.getDrawingCache()); 
            v.setDrawingCacheEnabled(false); 
于 2013-04-05T20:57:21.603 に答える