Android 获取屏幕图像缓存,截长图

2017-12-25  本文已影响50人  RoboyCore

通过限定宽高(局限是无法得到长图)

view.measure(View.MeasureSpec.makeMeasureSpec(
0,View.MeasureSpec.UNSPECIFIED),
View.MeasureSpec.makeMeasureSpec(
0,View.MeasueSpec.UNSPECIFIED));
// view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());//设置摆放宽高

通过view.draw()来绘制到画布保存图片(此时长图就可以得到啦~~🌶)

public  Bitmap loadBitmapFromView(View v, boolean isParemt) {
    if (v == null) {
        return null;
    }
    Bitmap screenshot;
    screenshot = Bitmap.createBitmap(v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888);
    Canvas c = new Canvas(screenshot);
 //  c.translate(-v.getScrollX(), -v.getScrollY()); //添加截取当前位置开始 
    v.draw(c);
    return screenshot;
}

···系统命令截图

上一篇 下一篇

猜你喜欢

热点阅读