2014-10-07 5 views
1

사진을 90도 회전시키는 티타늄 앱을 만들고 싶습니다. 내보기는 imageView 및 단추를 회전하는 데 사용할 단추를 표시합니다. 하지만 항상 '정의되지 않은'오류가 발생합니다. 내 코드 및 로그를 아래에서 확인하십시오.이미지를 90 도로 회전하십시오.

var image; 
var imageSet = false; 

var file = Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory, "savedChallengeImage.jpeg"); 
if(file) { 
    $.picture.setImage(file); 
    image = file; 
    imageSet = true; 
} 

function rotate() { 
    if (imageSet) { 
     var t = Titanium.UI.create2DMatrix(); 
     var spin = Titanium.UI.createAnimation(); 
     t = t.rotate(90); 
     spin.transform = t; 
     file.animate(spin); 
    } 
} 

EDIT : 파일 객체를 이미지 객체로 변경했지만 동일한 방식으로 동작합니다. 이미지 객체를 올바르게 가져 왔습니까?

image = $.picture.getImage(); 
image.animate(spin); 

그리고 내 로그 :

[ERROR] : Script Error { 
[ERROR] :  backtrace = "#0() at :0"; 
[ERROR] :  line = 17; 
[ERROR] :  message = "'undefined' is not a function (evaluating 'file.animate(spin)')"; 
[ERROR] :  name = TypeError; 
[ERROR] :  sourceId = 319168864; 
[ERROR] :  sourceURL = "file:///Users/rellerkmann/Library/Developer/CoreSimulator/Devices/97B059B3-D010-402B-834F-E2647DC8BBC9/data/Containers/Bundle/Application/BB7A6057-D27E-4AB3-92AB-051BE30087BE/RegApp.app/alloy/controllers/challengePicturePage.js"; 
[ERROR] : } 

답변

1

는 문서에 따르면, 파일 객체는 애니메이션 방법이 없습니다. ImageView 객체를 사용해야합니다.

File

ImageView

또한 참조 여기를 찾아보실 수 있습니다 :이 변경 일을 개선하지 않았다 https://developer.appcelerator.com/question/84171/rotate-an-image-around-its-center

+0

. 제 업데이트 된 질문을보십시오. –

+0

getImage()를 사용하면 File 객체가 다시 반환됩니다. .picture.animate를 사용해 보셨습니까? – STT

+0

고마워요, 그 속임수를했습니다. –

관련 문제