Выполнение скриншотов с использованием API MediaProjection

-1
задан Kling Klang 13 July 2018 в 15:25
поделиться

1 ответ

Я не знаю, что это MediaProjection, но я снимаю снимок экрана следующим образом:

private void takeScreenShot(View view) {
        Bitmap bitmap = loadBitmapFromView(view, 1125, 1125);  }

private Bitmap loadBitmapFromView(View v, int width, int height) {
        final Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
        final Canvas canvas = new Canvas(bmp);


        v.setDrawingCacheEnabled(true);
        v.measure(
                View.MeasureSpec.makeMeasureSpec(canvas.getWidth(), View.MeasureSpec.EXACTLY),
                View.MeasureSpec.makeMeasureSpec(canvas.getHeight(), View.MeasureSpec.EXACTLY));
        v.layout(0, 0, v.getMeasuredWidth(), v.getMeasuredHeight());
        v.buildDrawingCache(true);
        canvas.drawBitmap(v.getDrawingCache(), 0, 0, new Paint());
        v.setDrawingCacheEnabled(false); // clear drawing cache

        return bmp;   }
0
ответ дан Petros Mosoyan 17 August 2018 в 12:33
поделиться
  • 1
    Он работает в любом представлении, например, вне приложения? – Roe WB 13 July 2018 в 18:36
  • 2
    ну, я пробовал это, и приложение вылетает (Force stop) .. – Roe WB 15 July 2018 в 08:49
  • 3
    Можете ли вы поместить журнал ошибок? – Petros Mosoyan 16 July 2018 в 10:49
Другие вопросы по тегам:

Похожие вопросы: