2
我正在開發一個使用AS3通過Flash CS5.5的非本地iOS應用程序。該應用程序具有使用兩臺相機拍攝照片的功能(顯然是在任何時候,而不是在同一時間),我的問題在於我不知道如何處理我在我看到的圖像旋轉設備。iOS相機的圖像旋轉得到了AS3
我正在尋找解決方案,但沒有任何解決我的問題。
這裏是我的代碼:
所有感謝您的時間的package
{
import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.ActivityEvent;
import flash.events.MouseEvent;
import flash.media.Camera;
import flash.media.Video;
public class Main extends Sprite
{
private var cam:Camera;
private var vid:Video;
public function Main()
{
super();
// support autoOrients
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
cam = Camera.getCamera();
if (!cam)
{
trace("No camera is installed.");
}
else
{
connectCamera();
}
}
private function connectCamera():void
{
cam.setMode(320, 480, 25);
cam.setQuality(0,100);
vid = new Video();
vid.width = cam.width;
vid.height = cam.height;
vid.attachCamera(cam);
addChild(vid);
}
}
}
第一。我已經更新了autoOrientation設置,這是我管理的代碼:
package
{
import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.ActivityEvent;
import flash.events.MouseEvent;
import flash.media.Camera;
import flash.media.Video;
import flash.events.StageOrientationEvent;
import flash.display.StageOrientation;
public class Main2 extends Sprite
{
private var cam:Camera;
private var vid:Video;
public var _currentOrientation:String;
public function Main2()
{
cam = Camera.getCamera();
if (! cam)
{
trace("No camera is installed.");
}
else
{
connectCamera();
}
stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGING, orientationChangeListener);
}
private function connectCamera():void
{
cam.setMode(480, 320, 25);
cam.setQuality(0,100);
vid= new Video();
vid.width = cam.width;
vid.height = cam.height;
vid.attachCamera(cam);
addChild(vid);
}
private function orientationChangeListener(e:StageOrientationEvent):void
{
switch (e.afterOrientation)
{
case StageOrientation.DEFAULT :
_currentOrientation = "DEFAULT";
//set rotation value here
stage.rotation = 0;
break;
case StageOrientation.ROTATED_RIGHT :
_currentOrientation = "ROTATED_RIGHT";
//set rotation value here
stage.rotation = -90;
break;
case StageOrientation.ROTATED_LEFT :
_currentOrientation = "ROTATED_LEFT";
//set rotation value here
stage.rotation = 90;
break;
case StageOrientation.UPSIDE_DOWN :
_currentOrientation = "UPSIDE_DOWN";
//set rotation value here
stage.rotation = 180;
break;
}
}
}
}
儘管開關case語句,當你推出的「應用程序」看到相機90度的旋轉的圖像,並且當您將設備(iPhone 4)放在橫向(右側或左側)時,圖像效果很好。而當你旋轉回來時,圖像變得很糟糕。
預先感謝您。 PS:對不起,我的英文不好。 PS2:已編輯。
嗨,謝謝你的快速響應,但是我錯過了一些東西:你的代碼響應舞臺方向的變化,不是嗎? 也許我沒有解釋清楚自己(對不起!):當我訪問其中一個iPhone的相機時,我看到圖像(相機圖像,未捕獲圖像)旋轉90度。我的問題是我無法旋轉舞臺(不知道爲什麼),無法旋轉相機。 再次感謝, DGM.- – 2012-03-20 10:21:38
不知道爲什麼發生這種情況。當你訪問攝像頭時,它應該自動定位而不需要ActionScript的交互。您是否在發佈設置中啓用了autoOrientation? – crooksy88 2012-03-20 10:37:34
謝謝Croosky,我編輯了我以前的問題因爲我是一個紐約海報^^。 – 2012-03-20 15:34:55