私の iOS PhoneGap アプリには、フォト ギャラリーが表示されます (サーバーから読み込まれます)。画像ページに、画像を iOS カメラロールに保存するボタンを追加することはできますか? (モバイルサファリのタップアンドホールドに似ています)
これがプラグインとして実行する必要がある場合は、正しい方向に向ける情報をいただければ幸いです。(obj C の私のスキルは非常に不足しています)。
ありがとう!
Cordova/Phonegap プラグインCanvas2ImagePluginの助けを借りて可能です。それをインストールし、次の関数をコードに追加します。Raul Sanchez (Thanks!) による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);