我的iOS PhoneGap应用程序显示照片库(从服务器加载)。是否可以在图像页面上添加按钮将图像保存到iOS相机胶卷? (类似于在移动野生动物园中点击并按住)
如果这是需要作为插件完成的事情,任何指向我正确方向的信息都将受到赞赏! (我在obj C中的技能非常缺乏)。
谢谢!
答案 0 :(得分:5)
在Cordova / Phonegap插件Canvas2ImagePlugin的帮助下,这是可能的。安装它并将以下函数添加到您的代码中。它基于Raul Sanchez的getImageDataURL()(谢谢!)。
function saveImageToPhone(url, success, error) {
var canvas, context, imageDataUrl, imageData;
var img = new Image();
img.onload = function() {
canvas = document.createElement('canvas');
canvas.width = img.width;
canvas.height = img.height;
context = canvas.getContext('2d');
context.drawImage(img, 0, 0);
try {
imageDataUrl = canvas.toDataURL('image/jpeg', 1.0);
imageData = imageDataUrl.replace(/data:image\/jpeg;base64,/, '');
cordova.exec(
success,
error,
'Canvas2ImagePlugin',
'saveImageDataToLibrary',
[imageData]
);
}
catch(e) {
error(e.message);
}
};
try {
img.src = url;
}
catch(e) {
error(e.message);
}
}
像这样使用:
var success = function(msg){
console.info(msg);
};
var error = function(err){
console.error(err);
};
saveImageToPhone('myimage.jpg', success, error);