• 首先申请权限
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  • 生成海报
 *** 生成海报*/private void getShareImg() {mViewBind.shareImgLayout.rlSharePanert.setDrawingCacheEnabled(true);mViewBind.shareImgLayout.rlSharePanert.buildDrawingCache();mHandler.postDelayed(new Runnable() {@Overridepublic void run() {// 要在运行在子线程中// 获取图片Bitmap bitmap = mViewBind.shareImgLayout.rlSharePanert.getDrawingCache();if (bitmap == null) {//处理华为meta9等手机出现的问题bitmap = Bitmap.createBitmap(mViewBind.shareImgLayout.rlSharePanert.getWidth(),mViewBind.shareImgLayout.rlSharePanert.getHeight(), Bitmap.Config.ARGB_8888);Canvas canvas = new Canvas(bitmap);if (Build.VERSION.SDK_INT >= 11) {mViewBind.shareImgLayout.rlSharePanert.measure(View.MeasureSpec.makeMeasureSpec(mViewBind.shareImgLayout.rlSharePanert.getWidth(),View.MeasureSpec.EXACTLY), View.MeasureSpec.makeMeasureSpec(mViewBind.shareImgLayout.rlSharePanert.getHeight(), View.MeasureSpec.EXACTLY));mViewBind.shareImgLayout.rlSharePanert.layout((int) mViewBind.shareImgLayout.rlSharePanert.getX(),(int) mViewBind.shareImgLayout.rlSharePanert.getY(),(int) mViewBind.shareImgLayout.rlSharePanert.getX() + mViewBind.shareImgLayout.rlSharePanert.getMeasuredWidth(),(int) mViewBind.shareImgLayout.rlSharePanert.getY() + mViewBind.shareImgLayout.rlSharePanert.getMeasuredHeight());} else {mViewBind.shareImgLayout.rlSharePanert.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));mViewBind.shareImgLayout.rlSharePanert.layout(0, 0, mViewBind.shareImgLayout.rlSharePanert.getMeasuredWidth(),mViewBind.shareImgLayout.rlSharePanert.getMeasuredHeight());}mViewBind.shareImgLayout.rlSharePanert.draw(canvas);}savePicture(bitmap, "qufuusershare.jpg");// 保存图片mViewBind.shareImgLayout.rlSharePanert.destroyDrawingCache(); // 保存过后释放资源}}, 1000);}
public void savePicture(Bitmap bm, String fileName) {if (null == bm) {return;}File foder = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/qufuuser");if (!foder.exists()) {foder.mkdirs();}File myCaptureFile = new File(foder, fileName);try {if (!myCaptureFile.exists()) {myCaptureFile.createNewFile();}BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(myCaptureFile));//压缩保存到本地bm.compress(Bitmap.CompressFormat.JPEG, 90, bos);bos.flush();bos.close();showToast("截图以保存到\n系统相册");//分享图片(myCaptureFile )final UMImage image = new UMImage(mContext, myCaptureFile);image.setThumb(new UMImage(mContext, myCaptureFile));ShareBottomDialog.getInstance().setOnItemClickListener(new AdapterView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position, long id) {if (umShareHelper != null) {if (position == 0) {umShareHelper.shareWeixin(mActivity, image);} else if (position == 1) {umShareHelper.shareWeixinCircle(mActivity, image);}}}}).initView((FragmentActivity) mActivity, false);} catch (IOException e) {e.printStackTrace();}}

android生成将布局生成海报保存并分享相关推荐

  1. VUE微信H5生成二维码海报保存在本地相册

    VUE微信H5生成二维码海报保存在本地相册 一.效果 二.说明 公司需求:宣传海报从后台获取,二维码地址也从后台获得,然后生成一个海报,海报上固定位置放二维码,长按图片可以保存在本地相册(其实前面的需 ...

  2. 微信小程序前端生成二维码并保存(海报同理)

    这里写自定义目录标题 1.前端生成二维码并保存 1.前端生成二维码并保存 1.下载weapp.qrcode.js文件并引入项目中 2.先在wxml文件中构建canvas画布 <canvas st ...

  3. h5 uniapp html2canvas生成海报,保存到本地功能实现;

    html2canvas生成海报,保存到本地功能实现 1. 在开发过程中我们将HTML2canvas封装成一个组件,通过prop传递ID参数 2. 组件的使用,伪代码不要直接复制uniapp语法 3. ...

  4. C# 创建一个Panel并可以通过鼠标拖动并可以拉动改变大小(可生成多个Panel并保存布局到数据库中)

    C# 创建一个Panel并可以通过鼠标拖动并可以拉动改变大小(可生成多个Panel并保存布局到数据库中) 一个用于绘制视频布局的控件,可在背景Panel上生成新的Panel并可以拖动改变位置以及调整大 ...

  5. uniapp页面生成海报并保存和分享微信

    Painter 画板 | LimeUiLimeUi - 增强型的 uni-app 组件库http://liangei.gitee.io/limeui-docs/components/painter/ ...

  6. 小程序通过canvas生成海报保存为图片的技巧

    小程序通过canvas生成海报保存为图片的技巧 最近公司要求在小程序点击分享,要生成一张图片,可以保存在用户相册里,图片里的内容根据后台返回的数据生成,这就涉及到小程序画布的知识了,因为微信文档上,画 ...

  7. 微信小程序2.9.0基础库canvas2D新API,生成海报保存到手机功能实现,包括文字换行,圆形图片,图片高度自适应等功能封装

    WxCanvas 利用canvas微信小程序原生实现的一个绘制微信小程序海报的类,基础库版本>2.9.0. 下面链接中使用的api已被废弃,所以有了本文. 微信小程序生成海报保存到手机 先看效果 ...

  8. Unity2018导出Android工程并自行生成apk(总)

    https://docs.unity3d.com/2018.4/Documentation/Manual/android-gradle-overview.html 以下内容都是在unity2018.4 ...

  9. 微信小程序 —— canvas生成海报图与分享

    整体思路 获取手机屏幕大小去依据设计尺寸比例调整 -wx.getSystemInfo 网络图片.base64图片保存到到本地临时文件路径 canvas绘制图片 - wx.createCanvasCon ...

最新文章

  1. BZOJ 2957: 楼房重建
  2. 【渝粤题库】国家开放大学2021春2246社会工作概论题目
  3. python rest 框架_python-更新用户REST框架Django
  4. fatal error C1083: 无法打开预编译头文件:“Debug\a.pch”:No such file or directory
  5. 中国软件开发project师之痛
  6. oracle中通过distinct为什么过滤不了重复的数据_spark | 手把手教你用spark进行数据预处理...
  7. 数字图像处理(一)——彩色图像基础
  8. kafka集群 kubernetes_为什么Kubernetes如此受欢迎?
  9. oracle 升级到11204,案例客服数据库RAC升级11201升级11204.docx
  10. 金蝶K3与IMS系统搭建销售订单交期回复系统
  11. Win10插入U盘无反应,但是U盘是正常的解决方法
  12. 软件工程:敏捷过程与极限编程
  13. js等待加载转圈圈效果
  14. 微商相册服务器维护,微商相册
  15. html如何让网页全屏,如何把页面弄成全屏?
  16. 吐血整理:42个人工智能机器学习数据集推荐
  17. 2018年python就业现状_2018年Python就业形势分析 拿数据说话
  18. Windows Store协议(ms-windows-store)解析和使用
  19. 云展网教程 | 关于个人中心相关功能
  20. java图书馆借还书系统_java图书馆借阅归还管理系统OA源码下载

热门文章

  1. 华为宣布人事调整:余承东调离华为云
  2. 使用Google Colab对PUBG的玩家死亡数据集进行可视化分析
  3. 基于android的学生考勤请假app
  4. GET /static/js/jquery-3.5.1.min.js HTTP/1.1 200 89476
  5. 第三单元 :资本成本笔记
  6. Lesson 43 Smart 组件 vs Dumb 组件
  7. 鹏哥手把手带我刷好题 · 编程练习 · II
  8. HCPL3120手册翻译
  9. C/C++编程学习 - 第17周 ② 数字统计
  10. python试卷管理系统的设计与实现_在线考试系统的设计与实现毕业设计论文.doc...