我正在研究一个解决方案,以解决某些手机拍摄的图像由于在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((的函数的最佳方法是什么?
在尝试了多种方法后,我通过将orietation设置为全局变量来修复它,并使用setTimeout让rotateImage延迟执行。通过这样做,getOrientation可以完成,rotateImage可以在超时结束后使用let方向。