ti.imagefactory 的问题
Problems with ti.imagefactory
使用功能拍照后的实践
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
});
问题是 returns 我的错误后续
[ERROR] : Script Error {
[ERROR] : column = 2779;
[ERROR] : line = 1;
[ERROR] : message = "-[TiBlob hasPrefix:]: unrecognized selector sent to instance 0x1292da580";
所有这些仅在 iOS 上,而 Android- 没有错误,一切正常。
你对我有什么解决办法吗???谢谢
在您的 "other file" 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();
},
使用功能拍照后的实践
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
});
问题是 returns 我的错误后续
[ERROR] : Script Error {
[ERROR] : column = 2779;
[ERROR] : line = 1;
[ERROR] : message = "-[TiBlob hasPrefix:]: unrecognized selector sent to instance 0x1292da580";
所有这些仅在 iOS 上,而 Android- 没有错误,一切正常。 你对我有什么解决办法吗???谢谢
在您的 "other file" 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();
},