zoukankan      html  css  js  c++  java
  • 将linlayout布局转为bitmap图片和保存

    1.首先新建路径

     File filedirs = new File(Environment.getExternalStorageDirectory(), "/YuLin/");
            if (!filedirs.exists()) {
                filedirs.mkdirs();
            }

    2.生成某个布局的bitmap

        /**
         * 生成某个LinearLayout的图片
         */
        private Bitmap getLinearLayoutBitmap2(LinearLayout linearLayout, int screenWidth, int screenHeight) {
            int w = screenWidth;
            int h = screenHeight ;
            // 创建对应大小的bitmap
            linearLayout.measure(0, 0);
            Bitmap bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
            Canvas canvas = new Canvas(bitmap);
            canvas.drawColor(Color.WHITE);
            linearLayout.draw(canvas);
            return bitmap;
        }

    3.把bitmap保存为文件

     Bitmap btp = getLinearLayoutBitmap2(lin_share, lin_share.getWidth(),
                    lin_share.getHeight());
            File file = new File(filedirs, getTimeStamp() + ".jpg");

    4.保存文件到手机

     saveBitmap2(file, btp,99);
      /**
         * 保存方法
         */
        private boolean saveBitmap(File mFile, Bitmap bm) {
            if (mFile.exists()) {
                mFile.delete();
                mFile.mkdirs();
            }
            try {
                FileOutputStream out = new FileOutputStream(mFile);
                bm.compress(Bitmap.CompressFormat.JPEG, 40, out);
                out.flush();
                out.close();
                return true;
            } catch (IOException e) {
                e.printStackTrace();
                return false;
            }
    
        }

    注意 不懂得用法 查看下方完整方法

        public File saveSharePic(LinearLayout lin_share) {
            File filedirs = new File(Environment.getExternalStorageDirectory(), "/YuLin/");
            if (!filedirs.exists()) {
                filedirs.mkdirs();
            }
            Bitmap btp = getLinearLayoutBitmap2(lin_share, lin_share.getWidth(),
                    lin_share.getHeight());
            File file = new File(filedirs, getTimeStamp() + ".jpg");
            try {
                saveBitmap2(file, btp,99);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return file;
        }

    by:leileitua

  • 相关阅读:
    ssh密钥讲解
    Python之paramiko模块
    Python之socket编程进阶版
    linux内socket服务器无法连接windows
    Python之socket编程
    linux(centOS7,mini),python环境的搭建
    Python 之异常处理机制
    pytho常用模块2——random
    Hadoop基础(二):从Hadoop框架讨论大数据生态
    Hadoop基础(一):概论
  • 原文地址:https://www.cnblogs.com/widgetbox/p/9884510.html
Copyright © 2011-2022 走看看