• 将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

  • 相关阅读:
    MySql索引
    MySql事务、隔离级别
    41. 缺失的第一个正数
    442. 数组中重复的数据
    448. 找到所有数组中消失的数字
    转载:神奇的 SQL 之 联表细节 → MySQL JOIN 的执行过程(二)
    转载:神奇的 SQL 之 联表细节 → MySQL JOIN 的执行过程(一)
    697. 数组的度
    第三章 进程描述与控制
    C++ 对象成员函数(非静态方法)
  • 原文地址:https://www.cnblogs.com/widgetbox/p/9884510.html
Copyright © 2020-2023  润新知