一、截取缓存图片(当前屏幕显示的部分):

从ImageView对象中获取图像的方法,就是ImageView类中的getDrawingCache()方法,比如下面的代码就是从一个ImageView对象iv_photo中获取图像:

Bitmap obmp = Bitmap.createBitmap(iv_photo.getDrawingCache());

但是需要说明的是:

1.在调用getDrawingCache()方法从ImageView对象获取图像之前,一定要调用setDrawingCacheEnabled(true)方法:

iv_photo.setDrawingCacheEnabled(true);

否则,无法从ImageView对象iv_photo中获取图像;

2.在调用getDrawingCache()方法从ImageView对象获取图像之后,一定要调用setDrawingCacheEnabled(false)方法:

iv_photo.setDrawingCacheEnabled(false);

以清空画图缓冲区,否则,下一次从ImageView对象iv_photo中获取的图像,还是原来的图像。

二、截取webView的整个网页:

android.graphics.Picture pic = wView.capturePicture();
int width = pic.getWidth();
int height = pic.getHeight();

Bitmap bmp = Bitmap.createBitmap(width, 200, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bmp);
pic.draw(canvas);


imageView.getBackground(),是获取它的背景图片;

在调用getDrawingCache的时候要注意下面2点:

  1. 在调用getDrawingCache()方法从ImageView对象获取图像之前,一定要调用setDrawingCacheEnabled(true)方法:

    imageview.setDrawingCacheEnabled(true);

    否则,无法从ImageView对象iv_photo中获取图像;

  2. 在调用getDrawingCache()方法从ImageView对象获取图像之后,一定要调用setDrawingCacheEnabled(false)方法:

    imageview.setDrawingCacheEnabled(false);

    以清空画图缓冲区,否则,下一次从ImageView对象iv_photo中获取的图像,还是原来的图像。







  1. privateBitmapshot(Activityactivity){
  2. //View是你需要截图的View
  3. Viewview=activity.getWindow().getDecorView();
  4. view.setDrawingCacheEnabled(true);
  5. view.buildDrawingCache();
  6. Bitmapb1=view.getDrawingCache();
  7. //获取状态栏高度/
  8. Rectframe=newRect();
  9. activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
  10. intstatusBarHeight=frame.top;
  11. Log.i("TAG",""+statusBarHeight);
  12. //获取屏幕长和高
  13. intwidth=activity.getWindowManager().getDefaultDisplay().getWidth();
  14. intheight=activity.getWindowManager().getDefaultDisplay().getHeight();
  15. //去掉标题栏
  16. Bitmapb=Bitmap.createBitmap(b1,0,25,320,455);
  17. Bitmapb=Bitmap.createBitmap(b1,0,statusBarHeight,width,height-statusBarHeight);
  18. view.destroyDrawingCache();
  19. returnb;
  20. }

更多相关文章

  1. Android(安卓)CountDownTimer
  2. Bitmap的回收
  3. Android下的binder机制和IPC原理
  4. Android(安卓)蓝牙开启关闭
  5. Android(安卓)Camera 通过V4L2与kernel driver的完整交互过程
  6. HwServiceManager篇-Android10.0 HwBinder通信原理(五)
  7. 图像滤镜(GPUImage/GPU加速)、美化/图像处理技术 拼接及Skia- An
  8. Android:图片不加载到内存获取图片的大小
  9. Android(安卓)ACCESS_COARSE_LOCATION的用途和介绍

随机推荐

  1. Android应用最上层悬浮窗实现不依赖于Act
  2. Android(安卓)Studio 中org.apache.http.
  3. MPAndroidChart~BubbleChart(气泡图) and
  4. Android之短信发送器
  5. Android:Android(安卓)Support Design之T
  6. android viewpage的使用
  7. Android多媒体访问
  8. Win7 64位 Android(安卓)SDK下载和更新失
  9. android 动画
  10. 一个不错的启动菜单显示屏动画效果