1

我在使用 Appcelerator 保存照片时遇到了一些麻烦。

我正在拍照并保存它,好吧,那就是工作,这是代码:

var cameraOverlay = Ti.UI.createView({
    width:'100%',
    height:'100%'
});

var porcoOverlay = Ti.UI.createView({
    width: '90%',
    height: '100%',
    left: 0,
    top: 0
});
var porco = Ti.UI.createImageView({
    width: 200,
    height: 238,
    top: 10,
    left: 10,
    image:'images/pig.png',
    touchEnabled: false
});
porcoOverlay.add(porco);
cameraOverlay.add(porcoOverlay);

var menuOverlay = Ti.UI.createView({
    width: '10%',
    height: '100%',
    right: 0,
    top: 0
});
var takeFoto = Ti.UI.createButton({
    title: 'PH',
    bottom: 10,
    right: 10
});
menuOverlay.add(takeFoto);
cameraOverlay.add(menuOverlay);



Ti.Media.showCamera({
    showControls:true,
    overlay: cameraOverlay,
    saveToPhotoGallery: true,
    success:function(event) {

        var cropRect = event.cropRect;
        var image = event.media;

        var f = Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory,'camera_photo.png');
        f.write(image);

    }
});

takeFoto.addEventListener('click',function(){
    Ti.Media.takePicture();
});

这是我的问题:

1 - 自动对焦不起作用;

2 - 图像分辨率始终为:320*240;

3 - 我想用照片加入叠加层并保存;

谁能帮我?

4

2 回答 2

2

@Bruno Almeida 您的代码几乎是正确的。根据此查询,您希望使用预定义的高度和宽度(像素)保存图像。如果是,那么你可以试试这个例子 这个例子我很有用,我认为你的也是如此。求助 !看懂这段代码

var ImageFactory = require('ti.imagefactory');
// Save your Image 

savedFile.write(event.media);
// Read you Image in Blob Format                    
var blob = savedFile.read();

//  Resize this image through use ImageFactory Module.

newBlob = ImageFactory.imageAsResized(blob, { width:300, height:300, quality:ImageFactory.QUALITY_LOW });
  savedFile.write(newBlob);
  blob = savedFile.read();
于 2012-09-21T05:25:22.800 回答
-1
MV.utils.ImageUtils.resize(image, 500, 500);
于 2019-03-19T09:34:30.897 回答