How can I convert a View to a Drawable?

前端 未结 2 1489
别跟我提以往
别跟我提以往 2020-12-31 14:33

I have a View and I want to convert it into an image in order to store it somewhere. But how can I convert this View to an image?

相关标签:
2条回答
  • 2020-12-31 15:08
    1. Enable drawing cache on the view:

      view.setDrawingCacheEnabled(true);
      
    2. Create a bitmap from the cache:

      bitmap = Bitmap.createBitmap(view.getDrawingCache());
      
    3. Save the bitmap wherever...

    4. Disable drawing cache:

      view.setDrawingCacheEnabled(false);
      
    0 讨论(0)
  • 2020-12-31 15:11

    Try this for take image of view and store in sd card..

    View view = TextView.getRootView();
    //You can use any view of your View instead of TextView
    
    if (view != null)
    {
        System.out.println("view is not null.....");
        view.setDrawingCacheEnabled(true);
        view.buildDrawingCache();
        Bitmap bm = view.getDrawingCache();
    
        try
        {
            if (bm != null)
            {
                String dir = Environment.getExternalStorageDirectory().toString();
                System.out.println("bm is not null.....");
                OutputStream fos = null;
                File file = new File(dir,"sample.JPEG");
                fos = new FileOutputStream(file);
                BufferedOutputStream bos = new BufferedOutputStream(fos);
                bm.compress(Bitmap.CompressFormat.JPEG, 50, bos);
                bos.flush();
                bos.close();
            }
        }
        catch(Exception e)
        {
            System.out.println("Error="+e);
            e.printStackTrace();
        }
    }
    
    0 讨论(0)
提交回复
热议问题