将网页照片保存到Phonegap中的相机胶卷

Pot*_*Fro 4 ios cordova

我的iOS PhoneGap应用程序显示一个照片库(从服务器加载).是否可以在图像页面上添加一个按钮,将图像保存到iOS相机胶卷?(类似于在移动野生动物园中点击并按住)

如果这是需要作为插件完成的事情,任何指向我正确方向的信息将不胜感激!(我在obj C中的技能非常缺乏).

谢谢!

M16*_*437 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);
    }
}
Run Code Online (Sandbox Code Playgroud)

像这样使用它:

var success = function(msg){
    console.info(msg);
};

var error = function(err){
    console.error(err);
};

saveImageToPhone('myimage.jpg', success, error);
Run Code Online (Sandbox Code Playgroud)