Я использую библиотеку fotoapparat.io , чтобы снимать мои фотографии.Поскольку мне не нужно полное разрешение этих 12 или 15 мегапикселей, я хотел бы уменьшить это изображение до "768 x H", тогда как H - моя высота, зависящая от соотношения сторон камеры;обычно 4: 3, поэтому 576 пикселей.
Мне не помогли ни вызовы:
photoResult.toBitmap(
new Function1<Resolution, Resolution>() {
@Override
public Resolution invoke(Resolution resolution) {
float scale = (float) 768 / resolution.width;
return scaled(scale).invoke(resolution);
}
}
)
, ни масштабирование:
photoResult.toBitmap(
new Function1<Resolution, Resolution>() {
@Override
public Resolution invoke(Resolution resolution) {
int height = 768;
int width = 576;
Resolution r = new Resolution(width, height);
return scaled(1.0F).invoke(r);
}
}
)
.Во втором примере при использовании фиксированного 1,0F в качестве коэффициента масштабирования изображение искажается.Или 4/3 в качестве коэффициента масштабирования, у изображения было хорошее соотношение, но затем оно было уменьшено до 576 x 432 пикселей.
Как можно уменьшить изображение до фиксированной ширины, не искажая пропорции различныхкамеры