Как показать угол наклона датчика в качестве коррекции в режиме просмотра изображений - PullRequest
0 голосов
/ 05 мая 2020

Я сделал снимок с помощью камеры и определил угол наклона с помощью датчиков. Я сохранил изображение на SD-карте с углом наклона, но хочу сохранить изображение с углом коррекции. Означает, что содержимое изображения нужно наклонить относительно заданного угла. Я использую следующий код для угла наклона.

  //Calculate Tilt in degrees 
    double sinT = 2.0 * (w * y - z * x);
    if (Math.abs(sinT) >= 1)
        tilt = Math.copySign(Math.PI / 2, sinT) * (180 / Math.PI);
    else
        tilt = Math.asin(sinT) * (180 / Math.PI)

Пожалуйста, проверьте изображение ниже для углов наклона. введите описание изображения здесь

Я хочу отображать изображение с коррекцией наклона угол. Например, если телефон наклоняется до -10 градусов влево, изображение должно автоматически повернуться на +10 градусов в качестве угла коррекции и показать его для просмотра изображения.

Я использую следующий код для поворота изображения с углом коррекции, но он не работает во всех направлениях.

String photopath = tempphoto.getPath().toString();
Bitmap bmp = BitmapFactory.decodeFile(photopath);

Matrix matrix = new Matrix();
matrix.postRotate(correctionangle);
bmp = Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), bmp.getHeight(), matrix, true);

FileOutputStream fOut;
try {
    fOut = new FileOutputStream(tempphoto);
    bmp.compress(Bitmap.CompressFormat.JPEG, 85, fOut);
    fOut.flush();
    fOut.close();

} catch (FileNotFoundException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

Может ли кто-нибудь направить меня. Любая помощь будет принята с благодарностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...