将图像旋转90°

时间:2014-10-07 13:26:45

标签: javascript titanium

我想建立一个将图片旋转90度的钛金属应用程序。我的视图显示了imageView和我想用来旋转按钮的按钮。但我总是得到“未定义的”#39;错误。请参阅下面的代码和日志:

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);
    } 
}
编辑:我已将文件对象更改为图像对象,但其行为方式相同。我是否正确获取了图像对象?

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 个答案:

答案 0 :(得分:1)

根据文档,File对象没有animate方法。您必须使用ImageView对象。

File

ImageView

你也可以在这里查看参考: https://developer.appcelerator.com/question/84171/rotate-an-image-around-its-center