zoukankan      html  css  js  c++  java
  • 两种获取view的bitmap的方法

    在开发中有时候需要获取到一个view当前的图像信息,这个view可能是一个单一的view,也可能是多个view组成的ViewGroup,所以不能通过简单的getBackground的方法获取到这个图像信息。下面提供两个比较方便方法可以获取这个信息

    • 通过canvas获取
       /**
         * 通过canvas复制view的bitmap
         */
        private void copyByCanvas() {
            int width = mOriginImageView.getWidth();
            int height = mOriginImageView.getHeight();
            Bitmap bp = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
            Canvas canvas = new Canvas(bp);
            mOriginImageView.draw(canvas);
            canvas.save();
            mCopyImageView1.setBackground(new BitmapDrawable(bp));
        }
    • 通过drawingCache获取
        /**
         * 通过drawingCache获取bitmap
         */
        private void copyByDrawingCache() {
            mOriginImageView.setDrawingCacheEnabled(true);
            mOriginImageView.buildDrawingCache(true);
            final Bitmap bp = mOriginImageView.getDrawingCache();
            if(bp != null){
                Bitmap finalBp = Bitmap.createBitmap(bp);
                mOriginImageView.setDrawingCacheEnabled(false);
                mCopyImageView2.setBackground(new BitmapDrawable(finalBp));
            }
        }
  • 相关阅读:
    [LeetCode] 101. 对称二叉树
    [LeetCode] 394. 字符串解码!!!!
    USACO Ordered Fractions
    USACO The Castle
    遇到的Mysql的一个坑
    USACO-palsquare 遇到的一个坑
    大整数相乘
    vs2012扩展
    JS实现文字倒计数
    jqAutoComplete 和 knockout
  • 原文地址:https://www.cnblogs.com/summerpxy/p/13648319.html
Copyright © 2011-2022 走看看