将图片显示为后台处理

时间:2015-12-28 22:07:02

标签: java image processing

我试图在java处理中使用图像作为背景,但是这段代码给了我错误:"文件" cave_entrance.jpg"缺失或无法访问,请确保URL有效或文件已添加到草图中且可读。"

这是我的代码:

public class Main extends PApplet{

    public void setup(){
        size(900,700);
        background(0);
    }// setup

    public void draw(){
        PImage background = loadImage("cave_entrance.jpg");
        background(background);
    }// draw

}// Main

我在

中有文件cave_entrance.jpg
Project
    data
        cave_entrance.jpg

2 个答案:

答案 0 :(得分:1)

从处理documentation for the dataPath() function

  

此功能几乎肯定不能满足您的需求。数据路径在每个平台上的处理方式不同,不应被视为写入文件的位置。 也不应该假设可以读取或列出此位置。此功能在内部用作读取文件的可能位置。它仍然是"公共"作为早期代码的延续。

     

库应该使用createInput()来获取InputStream或createOutput()来获取OutputStream。 sketchPath()可用于获取相对于草图的位置。 同样,请不要使用它来获取文件的相对位置。当您的应用在不同平台上运行时,您会感到失望。

路径包含bin目录听起来也很奇怪。我希望草图中的任何路径都相对于bin目录,因此您不需要使用绝对路径进入该目录。

由于您没有使用处理编辑器,因此您必须将data目录添加到source路径中。如果你在eclipse中,只需将data目录复制到src目录即可。这是一个比手动将文件复制到bin目录更好的解决方案,因为eclipse可以(并且将会)在没有警告的情况下删除这些文件。

答案 1 :(得分:0)

您可以通过调用以下方式检查放置此文件的位置:

println(dataPath(""));