您需要使用 CLI 安装 Canvas2Image,如下所示:
cordova plugin add https://github.com/devgeeks/Canvas2ImagePlugin.git
(或者如果你使用 'phonegap' 来代替 'cordova'。)
接下来,您需要添加一个函数(在本例中为 saveImageToPhone()),该函数调用您刚刚添加到项目中的插件。该函数将从您的按钮选择器中调用。例如:
<button onclick="saveMyPic("path/to/my/pic.jpg")">Save a pic to library</button>
它不一定是一个按钮,很明显,你可以直接调用函数并将任何你喜欢的 URL 传递给它。此“URL”可以是您从 FileTransfer 成功返回的路径。
这是我的代码:
function saveMyPic(myURL){
var MEsuccess = function(msg){
console.info(msg);
};
var MEerror = function(err){
console.error(err);
};
saveImageToPhone(myURL, MEsuccess, MEerror);
}
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);
}
}
现在只需从您希望的任何地方调用第一个函数。如果它有效,你会得到一个 console.log,上面写着
图像已保存!
希望对你有所帮助!