Camera 摄像机捕获的方向检测
一段时间以来,我一直在寻找一个解决方案,但我相信,从根本上说,这是不可能的 我想知道是否有人找到一个像样的黑客或旁路 我的问题是: 我有一个应用程序可以捕获一张照片,然后将该照片用作画布,用户可以点击该画布放置标签 放置标签后,用户上传照片,并将标签提交给客户端服务进行解析 如果照片是横向拍摄的,我需要检测它是横向左侧还是横向右侧,这样当它到达画布时,我可以以正确的方向显示它,如果用户切换到相反的横向模式,则可以将其翻转到正确的方向。 我怎样才能捕捉照片拍摄的方向Camera 摄像机捕获的方向检测,camera,orientation,titanium,appcelerator,Camera,Orientation,Titanium,Appcelerator,一段时间以来,我一直在寻找一个解决方案,但我相信,从根本上说,这是不可能的 我想知道是否有人找到一个像样的黑客或旁路 我的问题是: 我有一个应用程序可以捕获一张照片,然后将该照片用作画布,用户可以点击该画布放置标签 放置标签后,用户上传照片,并将标签提交给客户端服务进行解析 如果照片是横向拍摄的,我需要检测它是横向左侧还是横向右侧,这样当它到达画布时,我可以以正确的方向显示它,如果用户切换到相反的横向模式,则可以将其翻转到正确的方向。 我怎样才能捕捉照片拍摄的方向 function getOri
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()
);
});
从中修改了一点,但应该可以做到这一点
这应该做上面没有做的事情
Titanium.Media.showCamera({
success:function(event) {
var orientationWhilePictureTaken = Ti.Gesture.orientation;
// all other camera code...
}
});
只需查看
事件媒体的高度和宽度
即可至少确定纵向与横向。这并不能帮助你选择翻转的方向,尽管我不确定你为什么需要从捕获中找出这个方向。图像以正确的自然方向保存为横向照片,这样您只需将其旋转到手机的当前方向即可
Titanium.Media.showCamera({
success: function(event) {
var isLandscape = event.media.width > event.media.height;
}
}
如果你旋转设备,我的问题是我需要图像拍摄时的方向。每次设备方向改变时,上述内容都会改变。不,是应用程序拍摄的照片。我编写了一个与您演示的功能类似的函数,但如果用户更改方向,则返回值也会更改。如果您在应用程序中拍照,则可以使用
Ti.signature.orientation
捕捉方向并将其保存在某个位置,然后在应用程序中拍摄的每张照片中,您都会知道方向。必须超过复杂的是,我尝试了Ti.signature.orientation,但似乎从未奏效,但一旦我加入了你的,@Brian,效果非常好。谢谢你,先生@joseym你是如何将图像旋转回正常位置的??你能分享一下吗?是的,我已经在测试宽度是否大于高度。然而,这不允许我在屏幕更改时旋转到正确的位置。