在使用功能
拍照后的实践中Titanium.Media.showCamera({
success : function(event) {
var image = event.media;
var winTest = Alloy.createController('inputContentPost', {
'img' : image
}).getView();
winTest.open();
},
我从该函数调用该步骤想象我的另一个控制器并尝试使用它,如下面的代码所示:
var ImageFactory = require('ti.imagefactory');
var args = $.args;
var img = args.img;
var f = Ti.Filesystem.getFile(img);
var blob = f.read();
//imageViewTransformed.image = blob;
var newBlob = ImageFactory.imageAsResized(blob, {
width : 1024,
height : 1024,
quality : ImageFactory.QUALITY_HIGH
});
问题是返回错误后续
[ERROR] : Script Error {
[ERROR] : column = 2779;
[ERROR] : line = 1;
[ERROR] : message = "-[TiBlob hasPrefix:]: unrecognized selector sent to instance 0x1292da580";
所有这一切只在iOS上,而Android-没有错误,一切正常。 你有什么解决方案吗???谢谢
答案 0 :(得分:1)
在你的"其他档案" args.img已经是blob数据(它引用了event.media)。无需从文件系统中读取。试试这个:
var newBlob = ImageFactory.imageAsResized(args.img, {
width : 1024,
height : 1024,
quality : ImageFactory.QUALITY_HIGH
});
顺便说一句,我还建议你避免创建你不需要的变量。例如:
Titanium.Media.showCamera({
success : function(event) {
Alloy.createController('inputContentPost', {
img : event.media
}).getView().open();
},