Android Изображение с мультимедиа При проецировании в альбомной ориентации качество и границы ухудшены. - PullRequest
0 голосов
/ 29 мая 2020

Я снимаю свой экран с помощью mediaProjection, и у меня проблема с альбомом
В ландшафтном режиме я получаю изображение в портретном размере с черными границами сверху и снизу вместо использования всего пространства

enter image description here

вот исходный код обработчика

    mImageReader.setOnImageAvailableListener(
                reader -> {
                    Image img = reader.acquireLatestImage();
                    if (img == null) return;

                    final Image.Plane[] planes = img.getPlanes();
                    final ByteBuffer buffer = planes[0].getBuffer();
                    int pixelStride = planes[0].getPixelStride();
                    int rowStride = planes[0].getRowStride();
                    int rowPadding = rowStride - pixelStride * width;
// create bitmap
                    Bitmap bitmap = Bitmap.createBitmap(width+rowPadding/pixelStride, height, Bitmap.Config.ARGB_8888);
                    bitmap.copyPixelsFromBuffer(buffer);
                    ByteArrayOutputStream baos=new ByteArrayOutputStream();
                    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
                    byte[] newJpg=baos.toByteArray();

                    imageStreamSink.success(newJpg);
                    img.close();
                },
                null);
...