直接上代码了  稳稳的 屏幕外也可以实现截取 public static void getViewBitmap(View view) {WebView webview = (WebView) view;//测量webview 实际的大小 包括屏幕外的webview.measure(View.MeasureSpec.makeMeasureSpec(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED),View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));webview.layout(0, 0, webview.getMeasuredWidth(), webview.getMeasuredHeight());//启用View的DrawingCache功能webview.buildDrawingCache(true);webview.setDrawingCacheEnabled(true);webview.setVerticalScrollBarEnabled(false);webview.buildDrawingCache();// 延时保存图片 必须延时不然会出现截取部分白屏 new Handler().postDelayed(() -> {Bitmap bitmap =convertViewToBitmap(webview, webview.getMeasuredWidth(), webview.getMeasuredHeight());Canvas canvas = new Canvas(bitmap);// 画布的宽高和 WebView 的网页保持一致Paint paint = new Paint();canvas.drawBitmap(bitmap, 0, webview.getMeasuredHeight(), paint);webview.draw(canvas);try {//保存bitmap 为本地图片或做其他处理saveFile(webview, bitmap);} catch (IOException e) {e.printStackTrace();}}, 500);}
/***  绘制view的bitmap * @param view  要绘制的view * @param bitmapWidth  绘制宽  传入实际宽高* @param bitmapHeight 绘制高* @return*/
private static Bitmap convertViewToBitmap(View view, int bitmapWidth, int bitmapHeight) {Bitmap bitmap = null;try {bitmap = Bitmap.createBitmap(bitmapWidth, bitmapHeight, Bitmap.Config.ARGB_4444);view.draw(new Canvas(bitmap));} catch (OutOfMemoryError ooe) {System.gc();return bitmap;}return bitmap;
}

注意事项 : 1.webview 在截取完成后 会失去焦点 不能在滚动了 (处理方法:reload  或手动滚动webview)

2.webview 会截取不到部分三方框架绘制的图 (可转换成image 后在进行截取)

3. 获取图片后 切记 执行webview.buildDrawingCache(false);

WebView 截取长图相关推荐

  1. android webview 截图,android WebView 截取长图 《转载》

    先看看手机自带的长截屏功能: 机型: vivo x9 plus 大胆推测实现逻辑: 1:需要一个可以滚动的View 2:截取View在屏幕渲染的内容 3:不断滚动View,截取View渲染的内容,存储 ...

  2. WebView截长图解决方案

    作者:Windin 贝聊移动Android工程师 链接: http://www.jianshu.com/p/0faa70e88441 前言:本文主要讲述了以下两个方面: 1. 普通WebView如何截 ...

  3. 电脑如何截长图?如何用电脑截取长图——规划全景

    一个规划的,想知道如何用电脑截取长图--规划全景 1.F12    2.Ctrl+Shift+P 3.full

  4. Snagit for Mac 如何截取长图,滚动截图?

    困扰我很久了,为了在mac上截取长图,今天终于成功了. 如下图: 第一步:选择image. 第二步:Selection选择Panoramic,就是选择滚动截图的意思. 第三步:到达你想要滚动截图,也就 ...

  5. WebView 截长图

    今天在APP架构师看到这个,因为以前做过有点模糊了,所以接他之手记一记. 介绍 web 长图之前,先来说一下单屏图片的生成方案,和手机截图不同的是生成的图片不会显示顶部的状态栏.标题栏以及底部的菜单栏 ...

  6. jquery实现截取pc图片_如何优雅的对网页截取长图

    苏生不惑第115 篇原创文章,将本公众号设为星标,第一时间看最新文章. 最近写文章想截个长图,才发现一直使用的QQ早有这个功能了,这里就整理几个pc上网页长截图的方案. qq滚动截图 qq截图应该很多 ...

  7. 一个操作轻松截取长图,Win10上网截长图小技巧!

    截屏的方法有很多,但是有时候我们会遇到比电脑屏幕还大的图,比如网站上的长图.N条引用的评论...你要怎么截取呢?是不是最多只能截全屏?还是要做到第三方的截图软件呢? 下面介绍一种win10电脑自带的滚 ...

  8. android WebView截长图实现

    1.先简单介绍下webview截屏,看代码: //开启缓存 webview.setDrawingCacheEnabled(true); webview.buildDrawingCache();Bitm ...

  9. iOS截取长图,自定义截取size

    之前做过在查看商品详情时,需要截取很长的图片进行分享,已经超出一屏幕的显示范围: - (UIImage *)captureScrollView:(UIScrollView *)scrollView { ...

  10. Fast Stone超好用的截图工具,可截取长图,带滚动条的页面

    2019独角兽企业重金招聘Python工程师标准>>> Fast Stone下载地址:http://www.mydown.com/soft/402/473304402.shtml 注 ...

最新文章

  1. DataBind数据核心
  2. m_Orchestrate learning system---七、如何快速学好前端
  3. mysql_select按照指定的格式输出到文件
  4. Spring+Mybatis多数据源配置(三)——Spring如何获取Properties文件的信息
  5. SAP UI5 busy Dialog debug - 单步调试
  6. C和指针之字符串strchr、strpbrk、strstr
  7. 两年发表14篇论文,其中10篇一作,这是她的科研进阶攻略
  8. 搭建Servlet在线视频
  9. Epic高管:虚幻4引擎目标是不同规模开发商
  10. 52 - 算法 - LeetCode 21 数据结构链表 头插法 递归
  11. Redis——持久化RDB和AOF
  12. mybatis3源码2-查询
  13. Java配置环境变量32位
  14. HTML炫酷粒子源代码
  15. angular ui-bootstrap的Datepicker Popup组件问题总结
  16. excel 将图片的链接URL 显示为图片 转
  17. 网络工程师知识点整理—第五章:无线通信网
  18. 在迷茫中坚守的Neri,可能是惠普企业(HPE)的最后一位高管
  19. 2017java开发新技术
  20. CentOS下载教程

热门文章

  1. HRTF音频3D定位技术
  2. 21个2021年软件开发趋势预测
  3. 电气、电子电路符号与表示方法
  4. 2018年安徽批捕涉黑涉恶犯罪2691人
  5. 微信公众平台开发(14)--标签管理与用户标签管理
  6. iptable 帮助
  7. 怎么测试佩戴适合眼镜软件,如何在网上选择到适合自己的眼镜框?
  8. RS232/RS485转4G DTU 上传基于Modbus协议的温湿度传感器数据到远程TCP服务器
  9. RGMII2GMII 分析
  10. 基于WebUploader的文件上传插件