这两天一直在网上寻找答案,基本上分为这几类: 
1.通过window获取活动Activity,获取次Activity的图像。 
2.通过View,获取View的图像 
3.通过DDMS获取截图,但是是在PC端运行,在device上不能跑 
4.获取Framebuffer,从中读取图像信息,但是需要root权限。 
哪位高手能帮这解决第四种截图啊,能够不需要root权限也可以截图。1和2都试过了,这两种方法在截出的图什么都没有。譬如说截一个网页,你什么都截不到,只有一片黑色。貌似只能截到绘制到canvas上的图。3很明显不行、、、4需要root权限,暂时还没弄请问有其他方法解决没?或者告诉我如何把webview的内容绘制到canvas上

解决方案 »

  1.   

    没有root不好轻易操作framebuffer的,还是研究下绘制canvas吧。mBufferBitmap = Bitmap.createBitmap(mScreenWidth,mScreenHeight,Config.ARGB_8888);  
    Canvas mCanvas = new Canvas();  
    mCanvas.setBitmap(mBufferBitmap);  
      

  2.   

    还是用一下layout.draw(Canvas canvas),这样来截图
      

  3.   

    Picture picture = webView.capturePicture();
    Bitmap bmp = Bitmap.createBitmap(picture.getWidth(),picture.getHeight(), Bitmap.Config.RGB_565);
    Canvas c = new Canvas(bmp);
    picture.draw(c);搞定
      

  4.   

    我同样的方法,只能获取到webview的底色,swf文件的截图并没有得到,求帮!!!急呢
      

  5.   


    不行、、、你解决了没有?我和你遇到同样的问题,swf文件没发截图