我正在使用处理3.5.4。我正在尝试将屏幕图像save()
设置为data/frames
(相对于我的草图文件)。我正在使用的代码可以在Java模式下正常运行(我可以看到图像保存在计算机上的正确文件夹中),但是在Android设备上运行时,我得到了java.lang.IllegalArgumentException: File data/frames/frameasdf.tif contains a path separator
。我猜这是因为文件存储系统不同。 除了将图像直接保存到草图文件夹之外,还有什么方法可以避免路径分隔符?我是Java的新手(刚从Java脚本移到更专业的开发中),因此,请尽可能链接到任何有用的文档。
PImage drawing;
void setup() {
size(displayWidth, displayHeight);
}
boolean clicked = false;
String name = "asdf";
void mouseReleased() {
clicked = true;
}
void draw() {
background(255);
if(drawing != null) {
image(drawing, 0, 0);
}
fill(0);
noStroke();
ellipse(mouseX, mouseY, 50, 50);
if(clicked) {
save("data/frames/frame" + name + ".tif");
drawing = loadImage("frames/frame" + name + ".tif");
}
clicked = false;
}
这是我的代码的简化版本。这是一个简单的程序,每次单击时都应在屏幕上添加一个点。我确实计划在框架文件夹中保存多个框架。
我不太了解您的问题。您是要在特定应用程序文件中还是在共享存储文件中保存文件?可以使用Context.getExternalFilesDirs()获得不同存储系统的根文件,该文件将返回带有文件的向量。
您可以在这里开始阅读文档:Android storage