我正在创建一个使用相机/图库的应用程序。我正在使用相机拍照,一旦我拍照,设备将自动在iOS中显示预览屏幕,允许我根据需要移动和缩放我的图像。在android中,我手动创建了一个预览窗口。
但我想以610x320像素的分辨率裁剪图像。
以下是拍摄图片的代码
Ti.Media.showCamera({
success:function(event) {
if(event.mediaType == Ti.Media.MEDIA_TYPE_PHOTO) {
var image = event.media;
var ImageFactory = require('ti.imagefactory');
var newBlob = ImageFactory.imageAsCropped(image, {width:610, height:320 });
imgvwCapturedImage.image = newBlob; //imgvwCapturedImage is an image view
}
},
cancel:function() {},
error:function(error) {
alert("Sorry, Unable to to process now.Please retry later.");
},
saveToPhotoGallery:true,
allowEditing:true,
mediaTypes:[Ti.Media.MEDIA_TYPE_PHOTO]
});
我只能在从预览屏幕中选择照片后使用imageFactory module裁剪图像。是否有机会在预览屏幕上执行相同的 ,以便用户可以识别哪个区域正在被裁剪?
任何帮助将不胜感激。
答案 0 :(得分:1)
你试过叠加?只需创建一个用户可以操作的可调整大小的视图(选择图像的一部分)并将其添加到CameraOptionsType
。
http://docs.appcelerator.com/titanium/latest/#!/api/CameraOptionsType-property-overlay
答案 1 :(得分:0)
我已经为iOS创建了自己的预览屏幕,并借助scrollView和图像工厂模块裁剪了图像。现在它完美无缺。您可以找到示例代码here。但是,这不适用于Android设备。