0

我需要捕获 listview 数据并将其转换为 jpg 或 png 图像格式,然后保存到 sd 卡中。我只捕获了屏幕中可见的数据,但我无法捕获滚动视图中可用的数据。

所以,请指导我指导我如何实现这一点。

我的列表视图数据

我正在使用以下代码来捕获可见数据。

View v1=btnCapture.getRootView();
public void gettingRootView(View v1)
 {
   if( v1 != null) 
   { 
   v1.setDrawingCacheEnabled(true); 
   v1.buildDrawingCache(); 
   Bitmap bm = v1.getDrawingCache();  
   try 
   { 
   if ( bm != null ) 
   {
    Log.e("file","filepath");
    savePhoto(bm);
   } 
   }
   catch(Exception e){e.printStackTrace();}
   }
 }

    public void savePhoto(Bitmap bmp)
    {
     Log.e("save photo","save photo");

    File fileFolder=new File(Environment.getExternalStorageDirectory(),"SMSREADING");
    fileFolder.mkdir();
    Calendar c=Calendar.getInstance();

    try
    {
    File fileName=new File(fileFolder,c.getTimeInMillis()+".jpg");
    FileOutputStream output=new FileOutputStream(fileName); 
    bmp.compress(Bitmap.CompressFormat.PNG,100,output);
    }
    catch(Exception ex){
    ex.printStackTrace(); 
    }
    }
4

1 回答 1

0

您可以使用许多模板库之一从您的数据创建 HTML,例如,如果您有一个字符串列表,Apache 的 Velocity可能运行良好。创建 HTML 后,您可以使用java-html2image将 html 转换为图像。

于 2013-09-12T05:38:02.003 回答