【问题标题】:Save a web photo to camera roll in Phonegap在 Phonegap 中将 Web 照片保存到相机胶卷
【发布时间】:2012-07-22 00:39:24
【问题描述】:

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

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

谢谢!

【问题讨论】:

  • 你找到什么了吗?

标签: ios cordova


【解决方案1】:

在 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);

【讨论】:

    猜你喜欢
    • 2013-04-03
    • 2014-09-04
    • 1970-01-01
    • 2018-09-22
    • 2013-07-18
    • 2012-05-01
    • 1970-01-01
    • 2012-11-04
    • 2013-07-22
    相关资源
    最近更新 更多