Допустим, мы хотим снимать только портретные (не пейзажные) фотографии с целевым разрешением 1200x1600
пикселей.
В соответствии с документацией метода setTargetResolution
в ImageCapture.Builder
:
Разрешение должно быть выражено при целевом повороте вариантов использования. Например, устройство с естественной ориентацией портрета в режиме естественного поворота цели, запрашивающее портретное изображение, может указать 480x640, а то же устройство, повернутое на 90 градусов и нацеленное на альбомную ориентацию, может указать 640x480.
мы должны построить ImageCapture
пример использования:
ImageCapture.Builder()
.setTargetResolution(Size(1200, 1600))
.build()
Предположим, что у нас всегда есть телефон в естественной ориентации.
Все отлично работает, за исключением некоторых телефонов Huawei (например, Huawei Mate 20 Lite) изображение обрезается так, как мы бы инвертировали размеры (т.е. Size(1600,1200)
).
Есть ли какой-нибудь "безопасный" обходной путь, который мы могли бы использовать для решения этой проблемы? Я бы не предпочел занести в черный список устройства Huawei , как это делает Сигнал .
CameraX версии 1.0.0-beta03
.