gpt4 book ai didi

iphone - 闪存 CS5.5 : Photo is rotated when capture a photo using CameraUI on iPhone

转载 作者:行者123 更新时间:2023-11-29 13:35:48 24 4
gpt4 key购买 nike

请帮助,我已经成功地通过 iphone 的相机访问和捕获照片。但问题是当我通过“loadFilePromise”加载它时,照片旋转方向错误。

import flash.media.CameraUI;
import flash.media.MediaType;
import flash.media.MediaPromise;
import flash.events.MediaEvent;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.Loader;
import flash.display.Bitmap;
import flash.media.CameraRoll;
import flash.display.StageOrientation;
import flash.events.StageOrientationEvent;
import flash.media.Camera;
import flash.media.Video;

var currentOrientation:String = "";

var cam:CameraUI = new CameraUI();
cam.addEventListener(MediaEvent.COMPLETE, captured);
cam.addEventListener(Event.CANCEL, cancelled);

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, photoLoaded);
addChild(loader);

captureBtn.addEventListener(MouseEvent.MOUSE_UP, pressed);

function pressed(e:MouseEvent){
if(CameraUI.isSupported){
cam.launch(MediaType.IMAGE);
}
}

function captured(e:MediaEvent){
var mediaPromise:MediaPromise = e.data;
if(mediaPromise != null)
{
output.text = "Photo captured.";
loader.loadFilePromise(mediaPromise);
}
}

function cancelled(e:Event):void {
output.text = "Cancelled.";
}

stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGING,orientationChanging);
stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE, orientationChanged);

function orientationChanging(e:StageOrientationEvent){
currentOrientation = e.afterOrientation;
trace(currentOrientation);
switch(currentOrientation)
{
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;
}
}

function orientationChanged(e:StageOrientationEvent){

}

function photoLoaded(e:Event){
var img:Bitmap = e.currentTarget.content as Bitmap;
img.smoothing = true;
img.width = 350
img.scaleY = img.scaleX;

/* TRY THIS TO FIX BUT IT DIDN'T WORK:
switch(currentOrientation){

case "rotatedLeft":
img.rotation = 90;
break;

case "rotatedRight":
img.rotation = 90;
break;

case "upsideDown":

break;

}*/

/* THESE LINE ARE JUST USED TO SAVE PHOTO IN CAMERA ROLL:
if(CameraRoll.supportsAddBitmapData)
{
cameraRoll.addBitmapData(img.bitmapData);
}*/
}

function camRollSaved(e:Event){
output.text = "Your photo is saved to a camera roll."
}

我已经取消选中发布设置中的“自动方向”,尝试更正 StageOrientation,但仍然无效。

stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGING,orientationChanging);
stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE, orientationChanged);

只有当我将 iPhone 旋转到横向(相机位置在右上角),然后拍照时,它才是正确的。

有没有人遇到同样的问题或者知道如何解决?

非常感谢,

最佳答案

这在 Android 上为我解决了: http://blog.flexnroses.com/?p=95

我认为 iOS 的库存在问题,因此它可能无法解决您的问题,但也许您可以从中获得所需的灵感。祝你好运!

关于iphone - 闪存 CS5.5 : Photo is rotated when capture a photo using CameraUI on iPhone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10595050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com