Titanium /适用于iOS应用:
我如何设法拍摄照片,然后在新功能中使用此照片,例如显示照片,并在其顶部放置透明度稍大的副本?
答案 0 :(得分:1)
如果您想保存照片,那么您可以使用Alloy.Globals全局保存数据,以便日后使用。
Alloy.Globals.photo = blob object;
答案 1 :(得分:1)
请注意,我尝试使用以下内容编辑Mitul Bhalia的答案,但编辑被敲了回来。所以这就是你如何做到的:
拍摄图像后,您可以将其存储为全局对象Alloy.Globals
中的变量。然后,您可以在应用中的位置或之后访问此处。
例如:
takePhotoButton.addEventListener('click', function(){
Titanium.Media.showCamera({
success:function(event) {
if(event.mediaType === Ti.Media.MEDIA_TYPE_PHOTO) {
// Store the file in a variable
var image = event.media;
// Store the image in the global object
Alloy.Globals.temporaryImage = image;
} else {
alert("got the wrong type back ="+event.mediaType);
}
},
...
在您的应用中的其他位置,在存储图像之后,例如:
var anImage = Ti.UI.createImageView({ image: Alloy.Globals.temporaryImage })
另请注意,广泛使用全局对象可能会导致内存问题,因此请尽量不要过度使用。
答案 2 :(得分:0)
以下是我目前解决问题的方法:
takePhotoButton.addEventListener('click', function(){
Titanium.Media.showCamera({
success:function(event) {
if(event.mediaType === Ti.Media.MEDIA_TYPE_PHOTO) {
// Store the file in a variable
var image = event.media;
var filename = 'myPhoto.jpg';
takenPhoto = Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory, filename);
takenPhoto.write(image);
} else {
alert("got the wrong type back ="+event.mediaType);
}
},
...
然后我可以使用takenPhoto来显示我用相机拍摄的照片。 但我真的不知道这是不是最好的方法,如果它是正确的,因为我不使用' var'启动拍摄照片。但是,如果我使用' var'我不能在函数之外使用takenPhoto。