Не могу получить ориентацию из изображения - PullRequest
0 голосов
/ 01 мая 2020

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

function getOrientation(image){
    let ort = 1;
    EXIF.getData(image, function () {
        ort = EXIF.getTag(this, 'Orientation');
    });
    return ort;
}

Значение из ort позже используется в сочетании с канвой для поворота загруженного изображения , Как показано ниже, но каждое изменение приводит к тому, что значение становится равным 1 или неопределенным.

    let orientation = getOrientation(files);
    let data = rotateImage(files, orientation);

Каков наилучший способ передачи переменной с именем ort обратно в функцию, которая произвела вызов getOrientation ()?

1 Ответ

0 голосов
/ 06 мая 2020

Попробовав несколько вещей, я смог это исправить, сделав ориентацию глобальной переменной, и у rotateImage было отложенное выполнение с setTimeout. При этом getOrientation может завершить sh, а rotateImage может использовать ориентацию let после истечения времени ожидания.

...