一段时间以来,我一直在寻找解决方案,并且相信它的核心是不可能的。
我想知道是否有人找到了不错的黑客或旁路。
我的问题是:
我有一个捕获照片的应用,然后该照片用作用户可以点按以放置标签的画布。
放置标签后,用户上传照片,标签将提交给客户服务部门进行解析。
如果照片是横向拍摄的,我需要检测它是否是横向左侧还是横向右侧,这样当它到达画布时我可以以正确的方向显示它,如果是用户则将其翻转到正确的方向更改为相反的横向模式。
我如何捕捉拍摄照片的方向?
答案 0 :(得分:2)
只需查看event.media
的高度和宽度,至少可以确定纵向与横向。这不会帮助你翻转哪个方向,虽然我不确定为什么你需要从捕获中找出答案。图像以正确的自然方向保存为风景照片,这样您只需将其旋转到手机的当前方向
Titanium.Media.showCamera({
success: function(event) {
var isLandscape = event.media.width > event.media.height;
}
}
答案 1 :(得分:1)
function getOrientation(o) {
switch (o){
case Titanium.UI.PORTRAIT:
return 'portrait';
case Titanium.UI.UPSIDE_PORTRAIT:
return 'upside portrait';
case Titanium.UI.LANDSCAPE_LEFT:
return 'landscape left';
case Titanium.UI.LANDSCAPE_RIGHT:
return 'landscape right';
case Titanium.UI.FACE_UP:
return 'face up';
case Titanium.UI.FACE_DOWN:
return 'face down';
case Titanium.UI.UNKNOWN:
return 'unknown';
}
}
}
Ti.Gesture.addEventListener('orientationchange',function(e){
Ti.API.info('Current Orientation: ' + getOrientation(Titanium.Gesture.orientation));
var orientation = getOrientation(e.orientation);
Titanium.API.info(
"orientation changed = "+orientation+", is portrait?"+e.source.isPortrait()+", orientation = "+Ti.Gesture.orientation + "is landscape?"+e.source.isLandscape()
);
});
从KS修改了一下,但是应该这样做。
这应该做上面没有的事情
Titanium.Media.showCamera({
success:function(event) {
var orientationWhilePictureTaken = Ti.Gesture.orientation;
// all other camera code...
}
});