【发布时间】:2014-04-13 12:56:32
【问题描述】:
我使用Phonegap (Cordova) 开发应用程序,但在尝试将画布转换为 imageURI 并将其保存到 sdcard 时遇到问题。
这是我的代码:
function saveCanvasAsImage(imageURI) {
var gotFileEntry = function(fileEntry) {
var gotFileSystem = function(fileSystem) {
var d = new Date();
var n = d.getTime();
// copy the file
fileEntry.moveTo(fileSystem.root.feelathome, n + ".jpg", null, null);
};
// get file system to copy or move image file to
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFileSystem, fsFail);
alert("Image Capture Success");
};
//resolve file system for image
window.resolveLocalFileSystemURI(document.getElementById("canvas").toDataURL("image/png").replace(/^data:image\/(png|jpg);base64,/, ""), gotFileEntry, fsFail);
}
//file system fail
function fsFail(error) {
alert("failed with error code: " + error.code);
}
我有错误失败 5 我哪里错了?
【问题讨论】:
-
画布上画了什么?唯一在其中绘制某些东西(图像)的尝试被注释掉了。 “base64”函数中的变量“path”是做什么用的?
-
如您所见,我没有使用路径变量。他在那里是因为我测试了一些你可以忽略的东西。第二个在画布内我有一些图像。我试图将这些图像转换为一张并将其保存在我的应用程序文件夹中。谢谢。
-
好的,但是画布中的图像呢?我的意思是,您在这段代码中创建了画布,获取了上下文并将空画布保存为 base64。您是否删除了向此新画布添加图像的行,还是要使用现有画布?
-
我没有挖掘我只是想保存它的行
-
好吧,现在关于“getImageURI”函数......它应该获取图像URI,而不是base64字符串。 “window.resolveLocalFileSystemURI”最终会调用“fsFail”函数吗?
标签: javascript android cordova canvas