预览屏幕中的钛合金裁剪图像

时间:2014-06-12 07:33:01

标签: android ios camera titanium titanium-mobile

我正在创建一个使用相机/图库的应用程序。我正在使用相机拍照,一旦我拍照,设备将自动在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裁剪图像。是否有机会在预览屏幕上执行相同的 ,以便用户可以识别哪个区域正在被裁剪?

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

你试过叠加?只需创建一个用户可以操作的可调整大小的视图(选择图像的一部分)并将其添加到CameraOptionsType

http://docs.appcelerator.com/titanium/latest/#!/api/CameraOptionsType-property-overlay

答案 1 :(得分:0)

我已经为iOS创建了自己的预览屏幕,并借助scrollView和图像工厂模块裁剪了图像。现在它完美无缺。您可以找到示例代码here。但是,这不适用于Android设备。