获取View的截图-将View转换为Bitmap对象

Posted popfisher

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取View的截图-将View转换为Bitmap对象相关的知识,希望对你有一定的参考价值。

开发中,有时候需要获取View的截图来做动画来达到动画流程的目的,也有其他的很多用途

/**
 * 将View转换为Bitmap对象
 */
public class ViewToBitmapUtil {

    private static final String TAG = "ViewToBitmapUtil";

    public static Bitmap convertViewToBitmap(View view) {
        view.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
        view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
        view.buildDrawingCache();
        Bitmap bitmap = view.getDrawingCache();
        return bitmap;
    }

    public static Bitmap convertViewToBitmap(View view, int bitmapWidth, int bitmapHeight) {
        Bitmap bitmap = Bitmap.createBitmap(bitmapWidth, bitmapHeight, Bitmap.Config.ARGB_8888);
        view.draw(new Canvas(bitmap));
        return bitmap;
    }

    public static void getScreenRectOfView(View view, Rect outRect) {
        int pos[] = new int[2];
        view.getLocationOnScreen(pos);
        outRect.set(pos[0], pos[1], pos[0] + view.getWidth(), pos[1] + view.getHeight());
    }
}

 

以上是关于获取View的截图-将View转换为Bitmap对象的主要内容,如果未能解决你的问题,请参考以下文章

android view 转Bitmap 生成截图

Android View转换为Bitmap,实现截屏效果

Android生成view分享截图

Android生成view分享截图

Android获取View对应的Bitmap

Android生成view分享截图